سورس کد حرکت دادن فرم بدون حاشیه در سی شارپ
سه شنبه, ۱۹ دی ۱۳۹۶، ۱۲:۱۸ ق.ظ
یک برنامه ویندوزی ایجاد کرده و بر روی فرم دوبار کلیک کنید و کد زیر را در رویداد Load فرم بنویسید :
private void Form1_Load(object sender, EventArgs e)و یا از propertis فرم خاصیت FormBorderStyle را برابر None قرار بدین که فرم به شکل زیر در میاد :
{
this.FormBorderStyle = FormBorderStyle.None;
}
با این کد اگر برنامه را اجرا کنید حاشیه فرم از بین می رود و نمی توانید با ماوس فرم را به این طرف و آن طرف بکشید.
پس حالا در بالای رویداد Load کدهای زیر را بنویسید :
private const int WM_NCHITTEST = 0x84;
private const int HTCLIENT = 0x1;
private const int HTCAPTION = 0x2;
protected override void WndProc(ref Message message)
{
base.WndProc(ref message);
if (message.Msg == WM_NCHITTEST && (int)message.Result == HTCLIENT)
message.Result = (IntPtr)HTCAPTION;
}
موفق باشید