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

نام تاپیک: ایجاد event برای Class ها

  1. #1

    ایجاد event برای Class ها

    با سلام.
    آیا میشود برای یک کلاسی که خودمان نوشته ایم event ساخت؟ لطفا یک مثال ساده بزنید .

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran - Tehran
    پست
    799
    سادست ،
    ابتدا باید یک Delegate بسازید که شکل و فرمت event و پارامترهاش رو نشون بده
    مثلا :

    public delegate void MyEventDelegate(string Param1, string Param2);

    و بعد خود event رو به این شکل معرفی میکنی :

    public event MyEventDelegate MyEvent;


    در نهایت هر جا که بخوای این event رو fire کنی به شکل زیر عمل میکنی :

    public void FireMyEvent()
    {
    MyEvent("P1", "P2");
    }


    این مثال به طور جامع تری توضیح داده :
    http://www.csharphelp.com/archives2/archive470.html

  3. #3
    من یک کلاس از نوع panel دارم که چندتا textbox داره.
    میخوام یک event براش درست کنم که هرکدوم تکست باکسها تغییر کرد این event اجرا بشه.
    اینارو اول کلاس تعریف کردم
            public delegate void MyEventDelegate(object sender, EventArgs e);
    public event MyEventDelegate MyEvent;


    اینم تو رویدادهای تغییر تکست باکسها گذاشتم:
                MyEvent(sender, e);


    اما موقع اجرا خطای زیر میده:
    Object reference not set to an instance of an object.

  4. #4
    با تشکر . FARHAD.B.S
    می تونید همین مثال رو کمی کامل کنید.مثلا یک کلاس بسازید که event داره و تو کلاس دیگه ای یه وهله ازش بسازید و از event اون به عنوان تابع استفاده بکنید؟

  5. #5
    عزیز شما چرا سوالاتت رو تو تاپیک مردم میزاری؟خوب خود تاپیک بزن دوست من.

  6. #6
    عزیز شما چرا سوالاتت رو تو تاپیک مردم میزاری؟خوب خود تاپیک بزن دوست من.
    اگه منظورت سوال من هست که مربوط هست به این تاپیک!!

  7. #7
    سید جان . قربون اون جدت . بجای دعوا جواب سوالو بده میدونم که خیلی حرفه ای هستی.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran - Tehran
    پست
    799
    اما موقع اجرا خطای زیر میده:
    کد مشکلی نداره ، فقط در رویداد مورد نظر در تسکت باکس ها چک کن ببین sender یا e تهی هستند یا خیر.

    اگه بازم حل نشد میتونی یه سمپل کوچیک بنویسی و اینجا ضمیمه کنی تا علت خطا مشخص شه.

  9. #9
    فهمیدم مشکل چیه.
    وقتی همچین event درست میکنیم چون هنوز تابعی براش درست نشده این خطا رو میگیره
    ولی وقتی تو فرم اصلی از این event استفاده میکنیم دیگه خطا نمیگیره چون تابع رو داره.
    حالا چجوری داخل این کنترلی که داریم براش یک تابع درست کنیم که همچین اتفاقی نیفته؟
    من دستور زیر رو برای textchanged ها گذاشتم و یک تابع درست کردم و مشکل برطرف شد.
    MyEvent += new MyEvenetDelegate(MyControl_MyEvent);

    ولی یک مشکل هست و اون اینکه تو فرم اصلی وقتی از این event استفاده میشه. نام event ببه همین شکل به همراه شماره 1 هست:
    private void myControl1_MyEvent1(object sender, EventArgs e)
    {

    }

تاپیک های مشابه

  1. control class,entity class,boundary class
    نوشته شده توسط ali643 در بخش تحلیل و طراحی نرم افزار
    پاسخ: 12
    آخرین پست: یک شنبه 25 فروردین 1392, 16:22 عصر
  2. Delegate ,Event ,Event Handler , EventArg....
    نوشته شده توسط programmable در بخش C#‎‎
    پاسخ: 6
    آخرین پست: سه شنبه 04 اردیبهشت 1386, 11:33 صبح
  3. Class
    نوشته شده توسط سعید112 در بخش VB.NET
    پاسخ: 2
    آخرین پست: چهارشنبه 08 آذر 1385, 13:00 عصر
  4. class
    نوشته شده توسط mehdi1357 در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: شنبه 11 شهریور 1385, 16:00 عصر
  5. Class?
    نوشته شده توسط MSK در بخش برنامه نویسی در Delphi
    پاسخ: 8
    آخرین پست: پنج شنبه 09 مهر 1383, 20:54 عصر

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

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