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

نام تاپیک: EventHandler

  1. #1

    مشکل در صدا کردن توابع EventHandler

    فرض کنید یک آبجکت از یک فرم ساخته ایم
    می خواهیم برای دکمه ok این فرم یک تابع تعریف کنیم
    فرض کنید برحسب اینکه کجا فرم را صدا می زنیم تابعی جدید به آن نسبت می دهیم
    با توجه به تعاریف deligate هنگام هر بار صدا زدن فرم و کلیک دکمه ok تمام توابع تعریف شده برای آن اجرا می شوند.
    چه کنیم که این اتفاق نیفتد؟
    یعنی هر بار فقط تابع مربوطه صدا شود؟؟

    ساخت object از فرم


    frmPopUp.Visible = true;
    frmPopUp.Text = "لیست شعب بانکها";

    frmPopUp.btn_OK.Click += new System.EventHandler(btn_OK_BanksBranches_Click);

    frmPopUp.Show();



    تابع btn_OK_BanksBranches_Click


    private void btn_OK_BanksBranches_Click(object sender, EventArgs e)
    {
    this.dgv_Cheq.CurrentRow.Cells["clmnBranchTitle"].Value = frmPopUp.dgv_Info.CurrentRow.Cells[1].Value.ToString();
    frmPopUp.Visible = false;

    }


    یک تابع دیگر برای دکمه ok


    private void btn_OK_City_Click(object sender, EventArgs e)
    {
    this.dgv_Cheq.CurrentRow.Cells["clmnCity"].Value = frmPopUp.dgv_Info.CurrentRow.Cells[0].Value.ToString();
    frmPopUp.Visible = false;

    }

    زمان اجرای هر کدام از دستوراتی که فرم را صدا می زنند همه توابع btn_OK اجرا می شوند
    چگونه این اشکال برطرف می شود؟
    آخرین ویرایش به وسیله سمانه علوی فر : یک شنبه 18 اردیبهشت 1390 در 10:29 صبح دلیل: اصلاح عنوان

  2. #2
    کاربر دائمی آواتار Directx
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    نامعلوم
    پست
    243

    نقل قول: EventHandler

    خب دوست عزیز چرا خودتو تو دردسر می ندازی مگه نمیگی از یه فرم چند تا instance می سازی شما هیچ تابعی برای کلیک اون دکمه در نظر نگیر و تابع رو موقع ساختن فرم(تعریف ابجکت ازش) به رویداد کلیک دکمه اضافه کن اینجوری دکمه ی روی هر فرم تابع مخصوص به خودشو داره

  3. #3

    نقل قول: EventHandler

    نقل قول نوشته شده توسط Directx مشاهده تاپیک
    خب دوست عزیز چرا خودتو تو دردسر می ندازی مگه نمیگی از یه فرم چند تا instance می سازی شما هیچ تابعی برای کلیک اون دکمه در نظر نگیر و تابع رو موقع ساختن فرم(تعریف ابجکت ازش) به رویداد کلیک دکمه اضافه کن اینجوری دکمه ی روی هر فرم تابع مخصوص به خودشو داره
    نه یک instance می سازم از فرم ولی چند بار صداش می کنم ..

  4. #4

    نقل قول: EventHandler

    مشکل حل شد
    مرسی از راهنماییتون
    برای هر بار استفاده یک نمونه ساختم
    مرسی

برچسب های این تاپیک

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

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