PDA

View Full Version : سوال: جا به جا کردن فرم



hamedre81
پنج شنبه 23 شهریور 1391, 11:00 صبح
با سلام
چطوری می تونم با کلیک رو یک شی در فرم کل فرم رو حرکت بدم؟
یعنی کاری مثل Titlebar با برنامه های ویندوزی می کنه.
می خوام این Titlebar رو یه عکس دیگه عوض کنم اما همون کار رو بکنه؟

mehdy.programmer
پنج شنبه 23 شهریور 1391, 11:57 صبح
دوست عزیز شما می تونید تو رویداد Delta (http://msdn.microsoft.com/en-us/library/system.windows.forms.mouseeventargs.delta(v=vs.71) .aspx) تو موس جابجایی رو بدست بیاری ، بعد اون جابجایی رو تو Position فرمت اعمال کنی!

موفق باشی

Twoplus2010
پنج شنبه 23 شهریور 1391, 11:57 صبح
سلام به این لینک مراجعه کنید
جابجا کردن فرم با کلیک بر روی هر قسمت از آن - بدون استفاده از توابع API (http://barnamenevis.org/showpost.php?p=469375&postcount=52)

BEHZADnr
پنج شنبه 23 شهریور 1391, 13:19 عصر
سلام دوست عزیز
برای اینکار میتونید از API استفاده کنید
ابتدا Namespace زیر رو به برنامه اضافه کنید
using System.Runtime.InteropServices;
سپس کد زیر رو به ابتدای برنامه اضافه کنید

public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd,int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();
حالا کد زیر را در رویداد MouseDown هر شی که خواستید اضافه کنید
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(this.Handle, 0xa1, 0x2, 0);
}
موفق باشی