السلام عليكم ورحمة الله وبركاته
أخي الكريم بحسب ما فهمت
فإن جواب السؤال الأول:
جميع الأحداث في الدوت نت تجد فيها متغيرين
الأول Sender
والثاني e
لاحظ اللون الأحمر في الكود التالي
كود :
Private Sub Button1_Click(ByVal [color=#FF0000]sender [/color]As System.Object, ByVal [color=#FF0000]e [/color]As System.EventArgs) Handles Button1.Click
المتغير sender هو الذي يهمنا هنا، فهذا المتغير يعيد إلينا الكائن الذي أطلق الحدث
بمعنى لو أنك ضغطت على الزر Button1 فإنه سوف يطلق حدث Click فإذا قمنا بفحص قيمة المتغير sender فستكون قيمته تساوي Button1
وبالتالي إذا أردت أن تظهر رسالة باسم الزر الذي تم النقر عليه فما عليك إلا بوضع الكود التالي
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
[color=#FF0000] MsgBox(sender.text)[/color]
End Sub
هذا بالنسبة لزر واحد فكيف إذا كان لدينا عدة أزرار؟؟
تمكننا لغة VB.Net من تعريف حدث واحد لعدة كائنات وذلك بإضافة كل كائن مع الحدث المطلوب في آخر السطر الخاص بتعريف الحدث
لاحظ الكود الأحمر من الكود التالي
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles [color=#FF0000]Button1.Click, Button2.Click, Button3.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click[/color]
وأيضا مرة أخرى سنستفيد من المتغير sender ليعيد لنا الزر الذي أطلق الحدث وبالتالي سيصبح الكود بهذه الطريقة
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click
MsgBox(sender.text)
End Sub
هذا بالنسبة للسؤال الأول