PDA

View Full Version : مبتدی: چگونه مختصات x,y این کنترل را در حال حرکت بدست آورم



sayan
شنبه 01 مرداد 1390, 09:29 صبح
72829سلام دوستان گرامی

در برنامه زیر که آپلود کردم یک دکمه به نام button1 وجود دارد.

که در حال اجرای برنامه من میتوانم این دکمه را Move کنم ، مختصات x,y را میتونم بدست بیارم.

اما میخوام مانند دکمه بالا کنترل مثلا Button ای که از جعبه ابزار برنامه در قسمت راست به روی فرم می اندازم.

و زمانی که کنترل move میکنم مثل button1 مختصات x,y رو بهم بده ولی نمیدونم چه جوری بدست بیارم؟

از راهنمایی شما تشکر می کنم.

F.zeinali
شنبه 01 مرداد 1390, 11:30 صبح
سلام

شما می تونید از خاصیت
Location
استفاده کنید

sayan
شنبه 01 مرداد 1390, 12:16 عصر
مشکل فراتر از اینهاست ...

saman6384
شنبه 01 مرداد 1390, 12:57 عصر
ببین این به دردت می خوره؟ ( هر کنترلی که میندازی رو فرم مختصاتش رو بر می گردونه)

تو فایل
frmMain.cs
تو فانکشن
private void OnSelectionChanged(object sender, System.EventArgs e)

این رو اضافه کن

try
{
Control ctrl = (Control)selection[0];
label1.Text = ctrl.Top + " " + ctrl.Left;
}
catch { }

sayan
شنبه 01 مرداد 1390, 14:20 عصر
مرسی دوست عزیز.
ولی نگاه کن میخوام مثل دکمه button1 که داره move میشه در حال move شدن مختصات x,y به من بده

mehran_sh_t
یک شنبه 02 مرداد 1390, 15:57 عصر
سلام
وقتی یک button جدید ساختی، رویداد های مربوطه رو به همون رویداد هایی که واسه button1 ساختی ربط بده.
یا عین همون رویداد ها رو نسبت به فرم درونیت بساز، بعد ربط بده

gwbasic
یک شنبه 02 مرداد 1390, 16:14 عصر
اول هدفتو اصلیتو بگو که چی می خوای چون این سورسی رو که گذاشتی مربوط به Form Designer هست. آیا می خوای Form Designer بسازی؟

sayan
دوشنبه 03 مرداد 1390, 08:45 صبح
آره دقیقاً.
میخوام یه form designer بسازم.
الان کاری که میخوام انجام بدم اینکه مثل دکمه button1 که با ماوس move میکنم مختصات x,y را به من میده کنترل های جعبه ابزار هم به همین شکل باشه یعنی با حرکت دادن ماوس مختصات جاری به من
بده.

gwbasic
دوشنبه 03 مرداد 1390, 09:10 صبح
ببین FormDesigner کارش اینه که کنترل ها رو ی فرم مرتب کنه و اینکار توسط Mouse و یا تغییر پراپرتی ها در Propertygrid انجام می شه اون کدی هم که برای دادن مختصات بود هیچ ربطی به چیزی که می خوای نداره گولت نزنه. هر چیزی رو که بخوای می تونی از Service هایی که در host وجود داره می تونی بگیری
با این تفاسیر نمی فهمم که مختصات رو می خوای بگیری چه کار کنی؟

sayan
دوشنبه 03 مرداد 1390, 10:09 صبح
درسته دوست عزیز.
راستش من زیاد بلد نیستم از سرویس هایی که host داره استفاده کنم.

مخواهم وقتی که کاربر کنترلی به روی فرم می اندازه و کنترل روی فرم جابجا میکنه مختصات x,y در هر لحظه ببینه تا کار طراحی فرم براش راحت تر باشه

gwbasic
دوشنبه 03 مرداد 1390, 10:39 صبح
برای دیدن مختصات کنترل و همچنین بقیه پراپرتی های کنترل Text, Name,BackColor از PropertyGrid استفاده می شه که مثل ویژوال استودیو هست!

sayan
دوشنبه 03 مرداد 1390, 13:24 عصر
یعنی هیچ راهی وجود نداره که من مختصات کنترل های فوق مثل button1 در زمان move شدن بفهم ! :متعجب:

gwbasic
دوشنبه 03 مرداد 1390, 13:46 عصر
دوست عزیز چرا متوجه نمی شید راه درست رو من بهتون نشون دادم
شما تو Visual Studio چطوری فرم طراحی می کنید مگه از PropertyGrid استفاده نمی کنید
خوب اینجا هم همینطوره

sayan
سه شنبه 04 مرداد 1390, 12:14 عصر
درسته ولی مثل حرکتی که روی Button1 انجام می دید نمیشه :ناراحت: ؟