PDA

View Full Version : سوال: رویداد dragdrop در #c



mohammad_poorghnbar
سه شنبه 20 شهریور 1397, 14:24 عصر
سلام...این رویداد زمانی رخ میده که کنترلی در #c به محل دیگه ای منتقل بشه سوالی که من داشتم این بود که چطور در محیط اجرا به یک کنترل مثل button قابلیت تغییر مکان بدیم تا این رویداد اجرا بشه?خیلی جستجو کردم خاصیتی به نام allowdrop هست اما وقتی true هم باشه تفاوتی ایجاد نمیشه

danialafshari
سه شنبه 20 شهریور 1397, 14:59 عصر
با سلام
با رویداد MouseMove میتونید این کار رو انجام بدید

private void button_MouseMove(object sender, MouseEventArgs e)
{
Button button = (Button)sender;
if (e.Button == MouseButtons.Left)
{
button.Left += e.X ;
button.Top += e.Y;
}
}

mohammad_poorghnbar
سه شنبه 20 شهریور 1397, 22:20 عصر
با سلام
با رویداد MouseMove میتونید این کار رو انجام بدید

private void button_MouseMove(object sender, MouseEventArgs e)
{
Button button = (Button)sender;
if (e.Button == MouseButtons.Left)
{
button.Left += e.X ;
button.Top += e.Y;
}
}

واقعا ممنون...فقط دو تا سوال داخل کد برام مطرح شد چرا در خط سوم (Button) داخل پرانتز داریم و اگه ممکنه خاصیت left و top متعلق به button رو توضیح بدید

danialafshari
چهارشنبه 21 شهریور 1397, 00:58 صبح
sender از نوع object است و برای اینکه به button نسبتش بدیم باید cast کنیم
x و y هم محور افقی و عمودی میباشد

mohammad_poorghnbar
جمعه 23 شهریور 1397, 11:23 صبح
با سلام
با رویداد MouseMove میتونید این کار رو انجام بدید

private void button_MouseMove(object sender, MouseEventArgs e)
{
Button button = (Button)sender;
if (e.Button == MouseButtons.Left)
{
button.Left += e.X ;
button.Top += e.Y;
}
}

زمانی که از این کد داخل برنامه استفاده میکنم button قابلیت حرکت پیدا میکنه ولی باز هم رویداد dragdrop اجرا نمیشه...

danialafshari
جمعه 23 شهریور 1397, 18:45 عصر
متوجه نشدم
کاربرد رویداد dragdrop به این شکل هست که مثلاً شما یک شی خارجی رو بخواید وارد برنامه کنید
مثل کشیدن فایل txt روی TextBox

mohammad_poorghnbar
شنبه 24 شهریور 1397, 00:06 صبح
متوجه نشدم
کاربرد رویداد dragdrop به این شکل هست که مثلاً شما یک شی خارجی رو بخواید وارد برنامه کنید
مثل کشیدن فایل txt روی TextBox
تا جایی که توی یک کتاب مطالعه کردم این رویداد زمانی اجرا میشه که جای کنترلی تغییر کنه...هدفم اینه که با جابجایی یک button داخل برنامم رویداد اجرا بشه و پیامی داخل textbox نمایش داده بشه