PDA

View Full Version : نحوه‌ی استفاده از ُSender چگونه است؟



روح اله معینی زاده
یک شنبه 17 آبان 1383, 14:41 عصر
با سلام خدمت تمامی دوستان

نحوه‌ی استفاده از Sender به چه صورت است؟ من 7 عدد CheckBox دارم و یک عدد TextBox. حال وقتی روی یکی از این 7 خانه کلیک شود می می خواهم عدد 0 تا 7 را در جعبه متن بنویسم.

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

با احترام- خدانگهدار

علیرضا مداح
یک شنبه 17 آبان 1383, 17:56 عصر
سلام .


Private Sub MyEvent(ByVal sender As Object, ByVal e As System.EventArgs) Handles _
CheckBox1.Click, CheckBox2.Click, CheckBox3.Click, CheckBox4.Click, _
CheckBox5.Click, CheckBox6.Click, CheckBox7.Click
TextBox1.Text = "YourText"
End Sub

روح اله معینی زاده
یک شنبه 17 آبان 1383, 19:18 عصر
با سلام خدمت دوست گرامی جناب آقای علیرضا مداح

از اینکه وقت گذاشته و به من پاسخ دادید متشکرم، اما من می خواهم بدانم چه چیزی در متغیر Sender ذخیره می شه که در برنامه قابل استفاده است؟ نه به این شکل که من بخواهم همه‌ی کنترل‌هایم را جلوی Handles بنویسم.

به طور مثال آیا می توانم از روی این متغیر تشخیص دهم که کدام CheckBox کلیک شده است؟ (یعنی نام شی‌ای که فرستنده است را بفهمم) اگر بله، چگونه؟
با تشکر و احترام- خدانگهدار

علیرضا مداح
یک شنبه 17 آبان 1383, 21:59 عصر
به طور مثال آیا می توانم از روی این متغیر تشخیص دهم که کدام CheckBox کلیک شده است؟

بله . باید از DirectCast برای تبدیل sender به آبجکت مورد نظر استفاده نمایید . کد زیر را به ادامه پروسیجر بالا اضافه نمایید .


Dim chk As CheckBox = DirectCast(sender, CheckBox)
strCtrl = chk.Name
MsgBox(strCtrl)

در نتیجه پس از کلیک بر روی هر چک باکس ، نام آن توسط یک پیغام به شما نشان داده خواهد شد .

روح اله معینی زاده
یک شنبه 17 آبان 1383, 23:02 عصر
با سلام خدمت دوست گرامی جناب آقای مداح

از شما برای راهنمایی مفیدتان تشکر می کنم، انشاء الله در زندگی همیشه موفق باشید.

با احترام- خدانگهدار