PDA

View Full Version : سوال: ثابت کردن فرم در سی شارپ



parsoutline
یک شنبه 03 شهریور 1387, 09:59 صبح
سلام دوستان
من یه مشکلی دارم و اون اینه که چه طور میشه کاری کرد که یه فرم رو نشه تکونش داد و ثابت باشد .
لطفا سریعا جواب رو بدید !:لبخند:

Zaparo
یک شنبه 03 شهریور 1387, 10:09 صبح
ببین این به کارت میاد



const int WM_NCHITTEST = 0x0084;
const int HTBORDER = 18;
const int HTCAPTION = 2;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_NCHITTEST)
{
IntPtr result = UnsafeNativeMethods.DefWindowProc(this.Handle, m.Msg, m.WParam, m.LParam);
int location = result.ToInt32();
switch (location)
{
case HTCAPTION:
m.Result = new IntPtr(HTBORDER);
break;
default:
base.WndProc(ref m);
break;
}
}
else
{
base.WndProc(ref m);
}
}
[SuppressUnmanagedCodeSecurity]
internal static class UnsafeNativeMethods
{
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr DefWindowProc(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
}

saber4166
یک شنبه 03 شهریور 1387, 10:39 صبح
یه کار خیلی ساده اینه که خاصیت formborderstyle یه FORM رو none کنی

رضا جاسبی
یک شنبه 03 شهریور 1387, 22:16 عصر
یه کار ساده دیگه اینکه اگر کاربر فرم رو جابجا کرد (رویداد Move) شما خودت دوباره برش گردون :


this.Left = 100
this.Top = 100

100 یک مثاله.

jaza_sa
یک شنبه 03 شهریور 1387, 22:44 عصر
به هر حال ، برای انجام یک کار ممکنه روش های مختلفی وجود داشته باشه
یکی دیگه از اونا هم اینه :
خصوصیات فرم رو اینطوری تغیر بدید :
ControlBox = False ;
Text = "" ;
FormBorderStyle = FixedSingle ;
این خصوصیت آخر ممکنه یه چیز دیگه ای باشه