PDA

View Full Version : سوال: جابجایی فرم توسط ماوس



sysman_20
جمعه 28 فروردین 1388, 18:59 عصر
من یه فرم دارم که control box اون رو false کردم بنا بر این جابجایی اون غیر ممکنه.
به همین خاطر می خوام با کلیک بر روی یک شیئ مو قعیت فرم به دنبال ماوس تغییر کنه.
در ضمن من در کدام یک از این رویداد ها باید این کد را بنویسم که تا زمانی که کلید چپ ماوس پایینه این کار را انجام بدهد؟

hasan_esfahan
جمعه 28 فروردین 1388, 19:52 عصر
http://barnamenevis.org/forum/showpost.php?p=469375&postcount=52

prankster
شنبه 29 فروردین 1388, 00:50 صبح
با استفاده از توابع API:



using System.Runtime.InteropServices;


در فرم اصلی:


publicconstint WM_NCLBUTTONDOWN = 0xA1;
publicconstint HT_CAPTION = 0x2;

[DllImportAttribute("user32.dll")]
publicstaticexternint SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
publicstaticexternbool ReleaseCapture();


در وقفه MouseDown از شیئ مورد نظر:


if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}