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

نام تاپیک: فراخوانی event در زمان مطلوب

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر جدید
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    كوشه اي در كوير
    پست
    10

    Lightbulb فراخوانی event در زمان مطلوب

    سلام دوستان . خسته نباشید .مشکل من در رابطه با کار با Event هاست . آیا راهی هست که Event ی رو در غیر از زمانی که خودش در اثر رویداد خاص فراخوانی می شود ، فراخوانی کرد . مثلا اونت ِ Cell End Edit را در نظر بگیرید: این اونت فقط زمانی که یکی از سلول های DataGridView را ترک می کنید فراخوانی می شود و مقدار وارد شده در داخل آن سلول در نظر می گیرد . آیا می توان به صورتی مجازی رویداد مورد نظر یک اونت را برایش شبیه سازی کرذ تا در زمان مطلوب ِ خود اونت فراخوانی شود .مثلا فرض کنید اونت کلیکِ یک باتن را در زمانی غیر از زمان کلیک شدن Button نیاز داشته باشیم . ضمنا دلیل این کار هم به این خاطر است که من نمی توانم کدهای داخل آن اونت را در داخل متد دیگری بنویسم چون به آیتم های خود آن اونت احتیاج دارم ، مثلا به e.RowIndex و ... حتی اگر این آیتم ها را هم new کنم و یه شکلی اونت را به صورت دستی فراخوانی کنم ، عمل مورد نظر انجام نمی شود . مثلا مقدار وارد شده در سلول دیتا گرید در نظر گرفته نمی شود .تا حالا چندین بار این سوال را به طرق مختلف مطرح کردم ولی متاسفانه تاکنون کسی جوابگوی سوال من نبوده است . اگر توضیحاتم گویا نبود دوباره مطرح کنم . لطفا منو راهنمایی کنید . با تشکر.

  2. #2
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: فراخوانی event در زمان مطلوب

    سلام
    دوست من شما باید نگاه خود را نسبت به این روش کد نوشتن تغییر دهید اگر در زمانیکه شما قصد دارید یک Event را به طور مجازی اجرا کنید برای این است که میخواهید تعدادی ویژه گی را بدست آورید وبراساس آنها کارهائی را انجام دهید خوب این راه منطق خوبی نیست شما در هر لحظه باید از خاصیت یا متد مرتبط در همان لحظه استفاده کنید مثلا از خاصیت CurrentRow.Index برای تعیین موقعیت رکورد استفاده میشود که ربطی به هیچ Event ایی ندارد بنابراین اگر یک تکه کد کوچک قرار دهید خواهید دید که دوستان چگونه کد شما را اصلاح میکنند

  3. #3
    کاربر جدید
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    كوشه اي در كوير
    پست
    10

    نقل قول: فراخوانی event در زمان مطلوب

    جنابASKaffash از لطفتون ممنونم . ولی متاسفانه نمی تونم کد خاصی رو براتون بزارم این کار توی یه الگوریتم تقریبا پیچیده ایست که اگه من الان کدی قرار بدم چون مرتبط با خیلی چیزهاست گویا نخواهد بود . شاید منظورم رو خوب نرسونده باشم : ببینید من می خوام اطلاعاتی رو درون سطر دیتاگریدویو وارد کنم و سطر به سطر اطلاعات در داخل DataTable جدیدی که New می کنم ذخیره بشه .و در نهایت با زدن دکمه ذخیره این DataTable به DataBaseام فرستاده بشه . اما مشکل من: فرض کنید درون سطری اطلاعات وارد شده ولی شخص از آن سطر خارج نمی شود تا Eventِ RowLeave فراخوانی بشه تا اطلاعات مورد نظر را ذخیره کنه ،در این صورت ذخیره عملا صورت نگرفته است . من می خواهم با زدن دکمه ذخیره به طور مجازی Event RowLeave را فراخوانی کنم تا عمل مورد نظرم صورت گیرد یا مقدار داخل سلول آخر از طریق Event CellEndEdit مقدارگیری شود . امیدوارم توضیحاتم گویا بوده باشد .

  4. #4

    نقل قول: فراخوانی event در زمان مطلوب

    اگر برای ذخیره از دکمه استفاده میکنید

    Button.PreformClick()

    و اگر رویداد دیگری است می تونین به جای دو آرگومان آن خودتان مقدار بگذارید(مثلا به جای دو پارامتر null بگذارید که توصیه نمیشه)

    Button1_leav(null,null)
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  5. #5
    کاربر دائمی آواتار sarnev6t
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    انتهای پارک وی (جردن جنوبی) || (ته طهرون)
    پست
    153

    نقل قول: فراخوانی event در زمان مطلوب

    نقل قول نوشته شده توسط razavi_university مشاهده تاپیک
    اگر برای ذخیره از دکمه استفاده میکنید

    Button.PreformClick()

    و اگر رویداد دیگری است می تونین به جای دو آرگومان آن خودتان مقدار بگذارید(مثلا به جای دو پارامتر null بگذارید که توصیه نمیشه)

    Button1_leav(null,null)
    کد آقای رضوی کاملا مشکل شما را حل میکنه ولی پیشنهاد میکنم به توصیه ASKaffash بیشتر دقت کنید چون دیدگاه شما یکمی نادرسته! شما میتونید اون رویداد را مجدد فراخوانی کنید اما این کار زیاد بهینه نیست!
    البته اگر مثالی بود تا اساتید با دیدگاه درست حلش میکردند خیلی خوب میشد چون منم بعضی وقتها این مشکل را دارم!

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

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