سلام به برنامه نویسان محترم
لطفا بگین که جریان این e چیه؟
(لطفا سطح پایین توضیح بدین. من هنوز دانشگاه نرفتم!!!)
Printable View
سلام به برنامه نویسان محترم
لطفا بگین که جریان این e چیه؟
(لطفا سطح پایین توضیح بدین. من هنوز دانشگاه نرفتم!!!)
می شه بگین این e
رو کجا شنیدید؟
همانطوری که حتما میدونی 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 -که همه جا هم هستش- چیکاره است؟(البته یه کمی باهاش آشنا هستم اما دقیقا میخوام به صورت کلاسیک و منظم راجع به اون اطلاعات داشته باشم.)
به طور ساده از این پارامتر برای ارسال مقادیری که با fire شدن بعضی از event ها بوجود میان استفاده می شه که یک نمونه از کلاس EventArgs است. مثلا اگر MouseDown از form رو ببینید متوجه میشید که این شئ 2 تا property به نام های X و Y داره که بیان کننده محل کلیک mouse است. کلاس MouseEventArgs در واقع از روی inherit ، EventArgs شده.
ممنون. باید سعی کنم قشنگ بفهمم که چی گفتی
بزار برات یک کمی واضح تر توضیخ بدم.
اگه یادت باشه در vb 6 مثلاً اگر از event
mouse Move استفاده می کردی
چند تا موررد اضافه می شد مثل: x و y موس
حالا در vb.net همهی این ها رو جمع کردن و گذاشتن در e
و برای دیدنش کافی هست e را نوشیته و یک . بزنی
مثلاٌ شما در event بسته شدن فرم می تونی از e.cansel استفاده کنی تا این اتفاق نیوفته
آهان! دستت درد نکنه. (فکر میکنم) قشنگ فهمیده باشم.
حالا لطفا اگه میشه به این سوال هم جواب بده:
اون sender فقط برای اینه که ما بفهمیم برای چه شی ای این event رو احضار کرده؟
یعنی میخوام بپرسم فقط به همین درد میخوره؟ (که البته این خودش به تنهایی خیلی مهمه)
زمانی که یک fire ، Event می شه یک نمونه (instance) از اون شئ به عنوان sender به درون Event پاس داده میشه! که همونطور که اشاره کردید استفاده های زیادی داره. یکی از استفاده های اون رو میشه زمانی دونست که یک تابع ( یا بهتر بگم یک delegate ) بیش از یک Event رو از object های مختلف هندل می کنه. کاری که می شه گفت به جای ساختن control array در مثلا VB6 انجام میشه.
توضیح کامل است! من جسارت نمی کنم دیگه چیزی بگم