همون طور که میدونید هر رویداد یک Message است که یک Object رو از چیزی که در خارج از محدوده اون Object اتفاق افتاده با خبر میکنه . با این تعریف میریم برای حل مشکل بوجود اومده در این تاپیک . DataGridView هنگامی که در حال Edit کردن یک Cell هستید بنا به دلایلی رویداد های KeyDown , KeyUp , KeyPress رو هندل میکنه و اگه شما این رویداد ها رو Trace کنید میبینید که هیچ وقت در زمان ذکر شده داخل این روال ها کدی اجرا نمیشه .
با توجه به تعریفی که از رویداد دادم باید یک رویداد مخصوص این کار درست کنیم و به DataGridView اضافه کنیم . برای این کار استفاده از Windows Message ها بهترین راه حل به نظر میرسه . کلاسی که نوشتم این کار رو میکنه و زمانی که این رویداد اتفاق بیفته event ای که به گرید اضافه کردیم trigger میشه . کافیه گرید شما از این کلاس inherits بشه . خود این کلاس هم از گرید ویو inherits شده . اگه کلاس رو ببینید خیلی راحت به کار اون پی خاهید برد .
موفق باشید .






پاسخ با نقل قول