PDA

View Full Version : سوال: چطوری فرم قفل می شه؟؟



sadaf_
پنج شنبه 25 فروردین 1390, 18:48 عصر
چطوری می شه کاری کرد که فرم قفل بشه؟
در چه event ی بگذاریم بهتر کنترل می شه؟

sarbaz_esf
پنج شنبه 25 فروردین 1390, 18:54 عصر
سلام دوست عزیز
فرم از چه لحاظ باید قفل بشه؟ بیشتر توضیح بدید تا کمکتون کنم

sma6871
پنج شنبه 25 فروردین 1390, 18:57 عصر
منظورت از قفل شدن چیه؟

سایزش یا محتواش؟

sadaf_
پنج شنبه 25 فروردین 1390, 19:07 عصر
با تشکر
فرم رو نه تکان بده نه بالا پایین کنه خلاصه از کار بیافته

hadi-z
پنج شنبه 25 فروردین 1390, 19:28 عصر
سلام
خب خاصیت formborderstyle رو برابر none قرار بدید.

shadi khanum
پنج شنبه 25 فروردین 1390, 19:34 عصر
اگه میخوای نتونه تکونش بده یا بزرگ و کوچیکش کنه formbordestyle رو none بذار ولی اگه میخوای نتونه توی فرم هم رو چیزی کلیک کنه یا کلا کلیک رو فرم از کار بیفته enabled فرم رو false کن

AlgorithmX
جمعه 26 فروردین 1390, 01:25 صبح
اگه میخوای نتونه تکونش بده یا بزرگ و کوچیکش کنه formbordestyle رو none بذار ولی اگه میخوای نتونه توی فرم هم رو چیزی کلیک کنه یا کلا کلیک رو فرم از کار بیفته enabled فرم رو false کن


حالا اگر بخواهیم که بردر هم داشته باشه ولی جابه جا نشه چی؟

ali.rezaei7
جمعه 26 فروردین 1390, 03:07 صبح
حالا اگر بخواهیم که بردر هم داشته باشه ولی جابه جا نشه چی؟

سلام. دات نت اين امكان رو فراهم نكرده. ولي مي تونيد با زير نظر گرفتن پيغام WM_SYSCOMMAND (http://msdn.microsoft.com/en-us/library/ms646360%28VS.85%29.aspx) و خنثي كردن آن، از جابه جايي فرم جلوگيري كنيد. براي شنود پيغام هاي ارسال شده به پنجره از متد WndProc (http://msdn.microsoft.com/en-us/library/system.windows.forms.control.wndproc.aspx) فرم استفاده ميشه و بصورت زير بازنويسي مي كنيمش:

http://bytes.com/topic/c-sharp/answers/227739-disable-user-moving-application-window
protected override void WndProc(ref Message message)
{
const int WM_SYSCOMMAND = 0x0112;
const int SC_MOVE = 0xF010;

switch (message.Msg)
{
case WM_SYSCOMMAND:
int command = message.WParam.ToInt32() & 0xfff0;
if (command == SC_MOVE)
return;
break;
}

base.WndProc(ref message);
}


پ.ن: استفاده از اين روش زياد توصيه نمي شه.