PDA

View Full Version : e چیست؟



vbapr2005
یک شنبه 09 مرداد 1384, 11:08 صبح
سلام به برنامه نویسان محترم
لطفا بگین که جریان این e چیه؟
(لطفا سطح پایین توضیح بدین. من هنوز دانشگاه نرفتم!!!)

Beyondsoft
دوشنبه 10 مرداد 1384, 00:23 صبح
می شه بگین این e
رو کجا شنیدید؟

vbapr2005
دوشنبه 10 مرداد 1384, 01:22 صبح
همانطوری که حتما میدونی 2 تا شی هستند که توی VB.Net خیلی پر کاربردند و اصلا توی VB 6 خبری از اونا نبود. یکی sender و اون یکی e.
باز هم همونطوری که میدونی اگه مثلا روی یه Button دابل کلیک کنی تا کدهای مربوط به فرمش بیاد مینویسه:

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

End Sub
حالا من میخوام ببینم که این e -که همه جا هم هستش- چیکاره است؟(البته یه کمی باهاش آشنا هستم اما دقیقا میخوام به صورت کلاسیک و منظم راجع به اون اطلاعات داشته باشم.)

titbasoft
دوشنبه 10 مرداد 1384, 13:21 عصر
به طور ساده از این پارامتر برای ارسال مقادیری که با fire شدن بعضی از event ها بوجود میان استفاده می شه که یک نمونه از کلاس EventArgs است. مثلا اگر MouseDown از form رو ببینید متوجه میشید که این شئ 2 تا property به نام های X و Y داره که بیان کننده محل کلیک mouse است. کلاس MouseEventArgs در واقع از روی inherit ، EventArgs شده.

vbapr2005
دوشنبه 10 مرداد 1384, 14:42 عصر
ممنون. باید سعی کنم قشنگ بفهمم که چی گفتی

Beyondsoft
دوشنبه 10 مرداد 1384, 16:40 عصر
بزار برات یک کمی واضح تر توضیخ بدم.
اگه یادت باشه در vb 6 مثلاً اگر از event
mouse Move استفاده می کردی
چند تا موررد اضافه می شد مثل: x و y موس
حالا در vb.net همهی این ها رو جمع کردن و گذاشتن در e
و برای دیدنش کافی هست e را نوشیته و یک . بزنی
مثلاٌ شما در event بسته شدن فرم می تونی از e.cansel استفاده کنی تا این اتفاق نیوفته

vbapr2005
جمعه 14 مرداد 1384, 01:03 صبح
آهان! دستت درد نکنه. (فکر میکنم) قشنگ فهمیده باشم.
حالا لطفا اگه میشه به این سوال هم جواب بده:
اون sender فقط برای اینه که ما بفهمیم برای چه شی ای این event رو احضار کرده؟
یعنی میخوام بپرسم فقط به همین درد میخوره؟ (که البته این خودش به تنهایی خیلی مهمه)

titbasoft
جمعه 14 مرداد 1384, 12:05 عصر
زمانی که یک fire ، Event می شه یک نمونه (instance) از اون شئ به عنوان sender به درون Event پاس داده میشه! که همونطور که اشاره کردید استفاده های زیادی داره. یکی از استفاده های اون رو میشه زمانی دونست که یک تابع ( یا بهتر بگم یک delegate ) بیش از یک Event رو از object های مختلف هندل می کنه. کاری که می شه گفت به جای ساختن control array در مثلا VB6 انجام میشه.

Beyondsoft
جمعه 14 مرداد 1384, 13:16 عصر
توضیح کامل است! من جسارت نمی کنم دیگه چیزی بگم