PDA

View Full Version : چگونه Dock فرمی که روحالت None هست رو ایجاد کنیم؟



cs_mz88
شنبه 10 دی 1390, 16:07 عصر
سلام خسته نباشید.
من فرمی رو طراحی کردم که انو از حالت FormBorderStyle برداشتم ،یعنی یه فرم خامه.
الان که طراحیش توم شده میخوام فرمو از یک location به location دیگه با موس ببرم نمی شه.
Border شو با toolstrip ساختم.
لطفا کمکم کنید

sayvan
شنبه 10 دی 1390, 16:28 عصر
دوست من شما باید چهار تا متغییر تعریف کنین به صورت عمومی
int ox, oy,nx,ny;
بعدش وقتی که کاربر رو بوردر برنامه شما کلیک کند باید مختصات ماوس در متغییر ها ثبت بشه و شکل ماوس Cursor تغییر کنه البته تو رویداد MouseDown همون Border
if (e.Button == MouseButtons.Left)
{
this.ox = e.X;
this.oy = e.Y;
this.Cursor = Cursors.SizeAll;
}


بعد باید وقتی که ماوس حرکت کنه پنجره تغییر لوکیشن بدهد در اینجا باید چک کنیم آیا کلیک ماوس کلیک شده است بعد با استفاده از مختصات قبلی ماوس و مختصات جدید تغییرش میدیمتو رویداد MouseMove
if (e.Button == MouseButtons.Left)
{
this.nx = e.X;
this.ny = e.Y;
this.Left += this.nx - this.ox;
this.Top += this.ny - this.oy;
}
else
{
this.Cursor = Cursors.Default;
}


در ضمن عنوان تاپیک خیلی مبهم بود