PDA

View Full Version : مبتدی: رویداد دابل کلیک در ناحیه هایی مشخص از فرم



omidrajabitiz
شنبه 11 خرداد 1392, 17:56 عصر
با سلام خدمت دوستان و اساتید
با توجه به تصویر زیر چگونه می توان برای برنامه رویدادی دابل کلیک تعریف کرد که کاربر در صورت دابل کلیک بر روی ناحیه های مشخص ( مختصات ناحیه معلوم باشه) شده، برنامه یک پیغام یا عملیاتی را انجام دهد!

http://barnamenevis.org/attachment.php?attachmentid=104992&d=1370093899&thumb=1&stc=1

در صورت امکان نداشتن چنین کاری در هر یک از ناحیه های مشخص شده یک لیبل (مثلا o2) بر روی هر یک از ناحیه ها همزمان با رسم ناحیه ها قرار داده شده است. نوشتن رویداد دابل کلیک این لیبل ها که در حین اجرای برنامه بر روی فرم قرار داده شده اند چگونه است؟:ناراحت:

mousa1992
شنبه 11 خرداد 1392, 18:56 عصر
سلام
از رویداد mousedoubleclick استفاده کن و میتونی مختصات کلیک شده رو بدست بیاری و چک کنی که اگه تو محدوده مورد نظر کلیک شده بود عملیات مورد نظرتو انجام میدی - مثال :

if (e.Y < 200)
{
// put your code
}


و برای تعریف رویداد

this.MouseDoubleClick += new MouseEventHandler(Form1_MouseDoubleClick);
تو این مثال رویداد mousedoubleclick رو واسه فرممون تعریف کردیم و البته باید متدی رو براش بنویسین که وقتی = رو گذاشتی اگه سه تا tab بزنی خودش به صورت اتومات برات میسازه
هرچیزی که خواستی بدونی چجوری ساخته میشه و با چه کدهایی برو وارد قسمت designer.cs شو کدهاشو میبینی

موفق باشی

omidrajabitiz
شنبه 11 خرداد 1392, 19:36 عصر
سلام
از رویداد mousedoubleclick استفاده کن و میتونی مختصات کلیک شده رو بدست بیاری و چک کنی که اگه تو محدوده مورد نظر کلیک شده بود عملیات مورد نظرتو انجام میدی - مثال :

if (e.Y < 200)
{
// put your code
}


و برای تعریف رویداد

this.MouseDoubleClick += new MouseEventHandler(Form1_MouseDoubleClick);
تو این مثال رویداد mousedoubleclick رو واسه فرممون تعریف کردیم و البته باید متدی رو براش بنویسین که وقتی = رو گذاشتی اگه سه تا tab بزنی خودش به صورت اتومات برات میسازه
هرچیزی که خواستی بدونی چجوری ساخته میشه و با چه کدهایی برو وارد قسمت designer.cs شو کدهاشو میبینی

موفق باشی


مرسی از راهنماییتون
برای بدست آوردن مختصات موس در فرم از کد زیر استفاده کردم:

int X = MousePosition.X;
int Y = MousePosition.Y;


بدست آوردن مختصات موس نسبت به فضای درون یک پنل چگونه است؟

mousa1992
شنبه 11 خرداد 1392, 19:54 عصر
اگه از رویداد MouseDoubleClick ِپنل مورد نظرتون استفاده کنید که مختصات کلیک شده تو پنل رو بهتون میده - اگر از روش خودتون میخواین مختصات بدست بیارن که میتویند با ی تفریق ساده بدست بیارین مختصات محل تو پنل
MousePosition.X - Panel.X میشه همون مختصات x تو پنل

omidrajabitiz
شنبه 11 خرداد 1392, 20:49 عصر
اگه از رویداد MouseDoubleClick ِپنل مورد نظرتون استفاده کنید که مختصات کلیک شده تو پنل رو بهتون میده - اگر از روش خودتون میخواین مختصات بدست بیارن که میتویند با ی تفریق ساده بدست بیارین مختصات محل تو پنل
MousePosition.X - Panel.X میشه همون مختصات x تو پنل


مرسی درست شد!