تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيفية معرفة قيمة الزر Button الحالي
#1
السلام عليكم ورحمة الله وبركاته

مرحبا أخواني الأعزاء ،،،

لدي سؤال من نقطتين ...

النقطة الأولى:
لدي دالة لعمل أمر معين وهو

كود :
MessageBox.Show("الأمر رقم")


الدالة تطبع لي رسالة على الشاشة فيما رقم الأمر
استدعي الدالة في اكثر من زر من خلال اسم الدالة

في كل مره استدي الدالة أأخذ قيمة الزر من خلال الأمر

كود :
Dim button As Button = sender
button.Text


أردت اختصار الكود بحيث اضم المتغير button للدالة بحيث لا أعيد كتابتة في كل مره ولكن واجهتني مشكلة مع الأخ sender حيث انه متغير من ضمن نطاق أمر الزر فكيف اتغلب على هذا الأمر ؟


النقطة الثانية:
خطر في بالي حل آخر وهو
الآن لدي 10 button كل زر يحمل قيمة أريد طباعتها ، كيف أعرف الزر التي تم الضغط عليه أثناء الضغط عليه حتى يتسنى لي أخذ قيمته ؟


اتمنى مسألتي تكون واضحة لأنها توفر علي كتابة code.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}}
تم الشكر بواسطة:
#2
سلام

لا أدري هل تقصد دمج حدث الضغط للعشرة button في حدث واحد وتستدعي داله مثل هذا
كود :
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click
    mySub(sender)
End Sub

Sub mySub(ByVal button As Button)
    MsgBox("الامر رقم " & button.Text)
End Sub

او بدون استدعاء داله يعني مباشرة مثل هذا
كود :
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click
    MsgBox("الامر رقم " & sender.Text)
End Sub

او مثل هذا
كود :
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click
    mySub(sender)
End Sub

Private Sub mySub(ByVal button As Button)
    If button Is Button1 Then
        MsgBox("الامر رقم واحد")

    ElseIf button Is Button2 Then
        MsgBox("الامر رقم اثنين")

    ElseIf button Is Button3 Then
        MsgBox("الامر رقم ثلاثة")

    ElseIf button Is Button4 Then
        MsgBox("الامر رقم اربعة")

    End If

End Sub

او مثل هذا
كود :
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click
    mySub(sender)
End Sub

Private Sub mySub(ByVal button As Button)

    Select Case button.Name

        Case Button1.Name
            MsgBox("الامر رقم واحد")

        Case Button2.Name
            MsgBox("الامر رقم اثنين")

        Case Button3.Name
            MsgBox("الامر رقم ثلاثة")

        Case Button4.Name
            MsgBox("الامر رقم اربعة")

    End Select
End Sub
موفقين
متغيب
الرد }}}}
تم الشكر بواسطة: عبد الله , محمود رغمان
#3
وعليكم السلام

أخي أنت انسان متميز تستحق اللقب الذي تحمله عن جدارة اسأل الله أن يبارك فيك ولك.

الكود الأول بتمرير sender حلت المشكلة ( وكنت أغفل عنها لجهلي ).

والكود الثاني يؤدي لنفس الحل وبهذا الكود يكون شكل البرنامج مرتب.

والكود الثالث والرابع جمع بين الأول والثاني.

تم الحل وجزاك الله خيرا.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}}
تم الشكر بواسطة: الطالب


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيفية برمجه serail port engmedomed@gmail.com 2 76 12-01-17, 03:50 AM
آخر رد: Basil Abdallah
  كيفية تغير رسائل الخطأ؟ noway 4 162 12-01-17, 02:05 AM
آخر رد: يسرى7
  كيفية استخراج ربح من المبيعات عندما تكون سعر شراء المادة مختلة في كل مرة max_1978 3 112 05-01-17, 12:40 AM
آخر رد: أبو عمر
  [سؤال] كيف جمع عمود به قيمة فارغة يوجد مثال aboslah4u22 8 1,335 04-01-17, 12:48 PM
آخر رد: مساعدة
  [VB.NET] كيفية رفع صوره مع السؤال في المنتدي engmedomed@gmail.com 3 107 02-01-17, 08:24 PM
آخر رد: Basil Abdallah
  كيفية التعديل على كود HTML ومن ثم عرضه في WebBrowser bidaya 5 136 24-12-16, 03:47 PM
آخر رد: ابو ليلى
  كيفية نقل بيانات من داتاجريد في فورم الى داتاجريد في فورم اخر قناص المدينة 0 83 22-12-16, 06:52 PM
آخر رد: قناص المدينة
  [VB.NET] كيفية استخدام مكتبة TLSharp الماجيك مسعد 5 162 13-12-16, 03:55 AM
آخر رد: الماجيك مسعد
  ازاى اما اكتب قيمة فى التكست بوكس يتاكد انها مش موجودة فى الداتا جريدفيو araxis 1 116 07-12-16, 11:22 AM
آخر رد: ممدوح الخطيب
Sad [VB.NET] كيفية تصميم قاعدة بيانات SQL Server وربطها مع الVS 2010 Ayman97 0 112 06-12-16, 04:34 PM
آخر رد: Ayman97

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم