ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2010/04/10
    593
    7

    ایجاد رویداد با delegate در C#

    سلام. من تو C# یک کلاس دارم که میخوام یک رویداد براش تعریف کنم.
    میدونم که اینکار رو باید با delegate انجام بدم. اما نمیدونم چجوری.
    میتونید راهنماییم کنید؟
    انسان موفق با آجرهایی که به سمتش پرتاب میشود بنایی مستحکم میسازد.
  2. #2
    2008/03/03
    تهران
    415
    7

    پاسخ : ايجاد رويداد با delegate در C#

    سلام آقاي امير . م

    الان مدتها از تاريخ نوشته بالا گذشته . و هنوز متاسفانه کسي پاسخي به شما نداده . :redface:

    احتمالا تا حالا مشکلتون رو حل کرديد ولي اگه ممکنه اينجا مطرحش کنيد تا ما هم بدونيم .

    - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .
  3. #3
    2010/04/10
    593
    7

    پاسخ : ایجاد رویداد با delegate در C#

    بله مشکلم رو تقریبا فرداش حل کردم. به این صورت :
    تو کلاسی که میخوام event رو ایجاد کنم این کد رو مینویسم.
    کد:
        public delegate void EventClickEffect();
        public event EventClickEffect ClickEffect;
    با اینکار میایم event به نام ClickEffect رو از نوع EventClickEffect تعریف میکنیم. حالا تو تابعی که قراره این Event عمل کنه اون رو Call میکنیم.
    فرض کنید که تو این کلاس یه تایمر یا به کلید داریم و میخوایم هر وقت کلید فشرده شد این event کار کنه یا اصطلاحا raise بشه.
    تو روتین فرضا Click کلید این رو Call میکنیم.
    کد:
        private void btnKey_Click(object sender, EventArgs e)
        {
          ClickKey();
        }
    حالا تو کلاسی که میخوایم از این کلاس استفاده کنیم ، مثل فرم ، بعد از گرفتن Object از این کلاس با نوشتن خطی مثل زیر کار رو تموم میکنیم.
    کد:
          clsKeyFrame tmp = new clsKeyFrame();
          tmp.ClickKey += new clsKeyFrame.EventClickKey(tmp_ClickKey);
    void tmp_ClickKey()
        {
          throw new NotImplementedException();
        }
    انسان موفق با آجرهایی که به سمتش پرتاب میشود بنایی مستحکم میسازد.
  4. #4
    2008/03/03
    تهران
    415
    7

    پاسخ : ايجاد رويداد با delegate در C#

    ممنون از پاسختون
    اگه امکان داره يه مثال قابل لمس فقط با توضيح بدون کد برام بزنيد . :applause:
    - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .
  5. #5
    2010/04/10
    593
    7

    پاسخ : ایجاد رویداد با delegate در C#

    ببینید یه موقع هست که شما میخوای از یک کلاس که نوشتی تو کلاسها و فرمهای دیگه استفاده کنی.
    در ضمن میخوای وقتی اتفاق خاصی تو این کلاس افتاد ، که میتونه فشرده شدن یک کلید باشه یا تغییر متن یک textbox باشه یا هرچی دیگه ، وقتی این اتفاق افتاد شما تو فرمت یا هرجا دیگه که از این کلاس object گرفتی مطلع بشی.
    اینجا باید از رخداد یا Event استفاده کنی. event تو تمام object ها در مواقع مختلف اصطلاحا raise میشه.
    مثلا وقتی شما تو یه فرم از Button یک object میگیری و میاریش رو فرمت ، میتونی بگی که فرضا وقتی روش کلیک شد باید تابع مثلا btnTest_OnClick رو اجرا کنه و توی این تابع مثلا یه MessageBox میزاری یا هرچیز دیگه.
    این میشه مفهوم Event.
    حالا شما میخوای Event رو تو کلاس خودت پیاده کنی تا هر وقت یه اتفاق مشخصی توش رخ داد، شما توی فرم یا کلاست متوجه بشی و کاری رو که میخوای انجام بدی.
    روش کد نویسیش هم که تو پست قبلی نوشتم.
    موفق باشی.
    انسان موفق با آجرهایی که به سمتش پرتاب میشود بنایی مستحکم میسازد.
  6. #6
    2008/03/03
    تهران
    415
    7

    پاسخ : ايجاد رويداد با delegate در C#

    :applause:
    ممنون از توضيح کاملتون و مرسي که وقت گذاشتين .
    - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .
نمایش نتایج: از 1 به 6 از 6

موضوعات مشابه

  1. پاسخ: 3
    آخرين نوشته: 2016/03/14, 08:27
  2. یه رویداد جالب در ماژول EM-18
    توسط jaafary1 در انجمن میکروکنترلرهای AVR
    پاسخ: 8
    آخرين نوشته: 2015/10/05, 20:51
  3. ایجاد رویداد در C#
    توسط mjs1990s در انجمن C , C++ , C#
    پاسخ: 7
    آخرين نوشته: 2014/04/11, 11:57
  4. نحوه ایجاد ایجاد ایمیل یاهو بدون شماره تلفن
    توسط elec200 در انجمن كامپيوتر ، اينترنت و علوم مرتبط
    پاسخ: 0
    آخرين نوشته: 2013/11/27, 14:10
  5. پاسخ: 3
    آخرين نوشته: 2012/08/06, 21:40

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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