تبلیغات

رویداد دوبار کلیک بر روی آیتم لیست باکس سی شارپ

متاسفانه در لیست باکس دات نت، روشی برای مدیریت رویداد دابل کلیک (دوبار کلیک) روی آیتم‌ها وجود ندارد؛ ولی برای اینکه بتوانیم چنین چیزی را به آن اضافه کنیم، می‌توانیم از یک حقه‌ی جالب استفاده کنیم. 😀

شروع به کار

جهت تشخیص دابل کلیک روی آیتم‌ها، رویداد دابل کلیک ماوس را برای لیست مورد نظر پیاده می‌کنیم! به صورت زیر:

وقتی با ماوس، روی ListBox کلیک شود، ابتدا از طریق متد IndexFromPoint موجود در لیست‌‌باکس، ایندکس آیتمی که روی آن دوبار کلیک شده است گرفته می‌شود! درواقع، متد IndexFromPoint با دریافت مختصات محل دابل کلیک شدن ماوس، ایندکس آیتم را به ما می‌دهد که این مختصات نیز از طریق پارامتر e دریافت شده است.

از آنجایی که ممکن است روی نقطه‌ی دیگری از لیست‌باکس دابل کلیک صورت گرفته و هیچ آیتمی زیر علامت یا نشانگر ماوس در زمان دابل کلیک شدن وجود نداشته باشد، بنابراین مقدار index برابر -1 خواهد شد که بهتر است آن را با ثابتی با نام NoMatches که از قبل در کلاس ListBox وجود دارد بررسی کنیم؛ و اگر ایندکس برابر آن نبود، یعنی روی یک آیتمی دابل کلیک شده است.

حقه‌ی کثیفی بود نه؟! 😀

تبلیغات
0
کانال تلگرام فول کده
تبلیغات

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک گذاری اطلاعات در هر زمینه‌ای / برنامه‌نویس

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه