نمایش نتایج 1 تا 5 از 5

نام تاپیک: رویدادهای key در دیتاگرید

  1. #1
    کاربر دائمی آواتار mohammad-gh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    باغ شهر آذربايجان (مراغه)
    پست
    671

    رویدادهای key در دیتاگرید

    با سلام .رویداد key down - keypress یا key up رو وقتی که در یک سلول دیتا گرید هستیم چطور می شه شناخت.
    واضح تر این که من می خواهم وقتی در یک سلول دیتا گرید هستم با فشردن هر دکمه ای یک فرم خاص باز بشه.
    من فروم رو جستجو کردم اما هر کس که پرسیده بود جوابی هم بهش داده نشده بود یا گفته بودند این کار امکان ندارد. من که باورم نمیشه وی بی دات نت خودش چیزی نداشته باشه.

  2. #2
    کاربر دائمی آواتار mohammad-gh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    باغ شهر آذربايجان (مراغه)
    پست
    671
    بابا یعنی اینقدر سخته

  3. #3
    کاربر دائمی آواتار Microsoft.net
    تاریخ عضویت
    آبان 1382
    محل زندگی
    مشهد
    پست
    584
    وقتی داخل یک سلول هستی event های پرسی handle میشند . برای این کار باید از windows message ها استفاده کنید و یک event خودتون طراحی کنید مخصوص این کار . من یک کلاسی نوشتم که این کار رو میکنه . کافیه این کلاسو به پروژت ADD کنی و dataGridView خودتو از این کلاس inherits کنی . یک event به نام otherKeys به گریدت اضافه میشه و می تونی کدت رو اونجا بنویسی و مشکلت حل میشه . من سالها قبل خیلی این مشکل وقتمو گرفت تا حلش کردم . امیدوارم راحت مشکلت حل بشه (;
    فایل های ضمیمه فایل های ضمیمه

  4. #4
    کاربر دائمی آواتار arsalansalar
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    اتاق آبی
    پست
    974
    دوست عزیز می شود کمی بیشتر درباره کار با این کلاس توضیح دهید؟

  5. #5
    کاربر دائمی آواتار Microsoft.net
    تاریخ عضویت
    آبان 1382
    محل زندگی
    مشهد
    پست
    584
    نقل قول نوشته شده توسط arsalansalar مشاهده تاپیک
    دوست عزیز می شود کمی بیشتر درباره کار با این کلاس توضیح دهید؟
    همون طور که میدونید هر رویداد یک Message است که یک Object رو از چیزی که در خارج از محدوده اون Object اتفاق افتاده با خبر میکنه . با این تعریف میریم برای حل مشکل بوجود اومده در این تاپیک . DataGridView هنگامی که در حال Edit کردن یک Cell هستید بنا به دلایلی رویداد های KeyDown , KeyUp , KeyPress رو هندل میکنه و اگه شما این رویداد ها رو Trace کنید میبینید که هیچ وقت در زمان ذکر شده داخل این روال ها کدی اجرا نمیشه .
    با توجه به تعریفی که از رویداد دادم باید یک رویداد مخصوص این کار درست کنیم و به DataGridView اضافه کنیم . برای این کار استفاده از Windows Message ها بهترین راه حل به نظر میرسه . کلاسی که نوشتم این کار رو میکنه و زمانی که این رویداد اتفاق بیفته event ای که به گرید اضافه کردیم trigger میشه . کافیه گرید شما از این کلاس inherits بشه . خود این کلاس هم از گرید ویو inherits شده . اگه کلاس رو ببینید خیلی راحت به کار اون پی خاهید برد .
    موفق باشید .
    آخرین ویرایش به وسیله Microsoft.net : دوشنبه 08 بهمن 1386 در 21:15 عصر دلیل: اشتباه نوشتاري

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •