منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] انشاء ازرار مع تعيين حدث النقر لكل زر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] انشاء ازرار مع تعيين حدث النقر لكل زر (/showthread.php?tid=19414)



انشاء ازرار مع تعيين حدث النقر لكل زر - bidaya - 25-02-17

كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim pt As Point = New Point(10, 10)
       For i As Integer = 0 To 5
           Dim btn As Button = New Button
           With btn
               btn.Location = pt
               btn.Text = "button" & (i + 1).ToString
               ' إضبط خصائص الباتون كيفما شئت
           End With
           ' هنا يتم ضبط مكان كل باتون
           pt.Y += btn.Height + 1
           Me.Controls.Add(btn)
       Next

       ' هنا نضيف الحدث لكل باتون
       For Each b As Button In Me.Controls
           AddHandler b.Click, AddressOf Btn_Click
       Next

   End Sub

   Private Sub Btn_Click(sender As Object, e As EventArgs)
       ' اكتب ما تريده في الحدث
       ' هنا نختار الباتون بناء علي التكست الخاص به
       ' ثم نحدد ما يجب أن يحدث عند الضغط علي الباتون
       Dim b As Button = CType(sender, Button)
       Select Case b.Text
           Case "button1"
               Me.Close()
           Case "button2"
               Me.BackColor = Color.Blue
           Case "button3"
               Me.Text = "any text"
           Case "button4"

           Case "button5"

           Case "button6"

       End Select

   End Sub
الكود يقوم بانشاء ازرار مع تعيين حدث النقر لكل زر
المشكلة انه اذا اظفنا اداة اخرى على الفورم  مثل بيكتر بوكس او واب براوزر   يقع مشكل ولا يفتح الفورم


RE: انشاء ازرار مع تعيين حدث النقر لكل زر - bidaya - 25-02-17

(25-02-17, 06:15 PM)khodor1985 كتب : السلام عليكم أخي العزيز ورحمة الله وبركاته
ضع رسالة الخطأ لنتمكن من مساعدتك

تفظل الصورة عند اضافة كنترول اخر للفورم


RE: انشاء ازرار مع تعيين حدث النقر لكل زر - bidaya - 25-02-17

(25-02-17, 06:36 PM)khodor1985 كتب : أرفق المشروع لو سمحت للتعديل عليه

حسب ما فهمت من رسالة الخطأ أن المشكلة في إضافة الأزرار إلى WebBrowser Control.

لازم شوف المشروع المعطيات ناقصة

تفظل اخي


RE: انشاء ازرار مع تعيين حدث النقر لكل زر - مساعدة - 25-02-17

السلام عليكم

المشروع لم يعمل لديك لاختلاف الاصدار

ولكن بالنظر للكود، اتضح أنك تقرأ جميع الأدوات Controls التي في الفورم Me وتعتبرها Button، وهنا سيظهر خطأ عندما يصادف أي أداة ليست Button

هذا تعديل لطريقة انتقاء أداة Button فقط من مجموعة أدوات Controls التي في الفورم Me
كود :
' هنا نضيف الحدث لكل باتون
For Each b As Button In Me.Controls.OfType(Of Button)



RE: انشاء ازرار مع تعيين حدث النقر لكل زر - bidaya - 25-02-17

(25-02-17, 08:22 PM)مساعدة كتب : السلام عليكم

المشروع لم يعمل لديك لاختلاف الاصدار

ولكن بالنظر للكود، اتضح أنك تقرأ جميع الأدوات Controls التي في الفورم Me وتعتبرها Button، وهنا سيظهر خطأ عندما يصادف أي أداة ليست Button

هذا تعديل لطريقة انتقاء أداة Button فقط من مجموعة أدوات Controls التي في الفورم Me
كود :
' هنا نضيف الحدث لكل باتون
For Each b As Button In Me.Controls.OfType(Of Button)

الله يبارك فيك اخي اجابة في منتهى الروعة والدقة شرح جميل
الله يجعل ايامك كلها جمال
الله يرضى عليك

(25-02-17, 07:25 PM)khodor1985 كتب : لقد تم التعديل على المشروع بناء لطلبك :


أتمنى لك التوفيق

الف الف شكر لك اخي
وساعمل بنصيحتك
ساصبر حتي يكره الصب صبري  ههههههههههه
شكرا لك ربنا يرضى عليك ويهنيك


RE: انشاء ازرار مع تعيين حدث النقر لكل زر - sherf - 04-11-19

(25-02-17, 04:27 PM)bidaya كتب :
كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim pt As Point = New Point(10, 10)
       For i As Integer = 0 To 5
           Dim btn As Button = New Button
           With btn
               btn.Location = pt
               btn.Text = "button" & (i + 1).ToString
               ' إضبط خصائص الباتون كيفما شئت
           End With
           ' هنا يتم ضبط مكان كل باتون
           pt.Y += btn.Height + 1
           Me.Controls.Add(btn)
       Next

       ' هنا نضيف الحدث لكل باتون
       For Each b As Button In Me.Controls
           AddHandler b.Click, AddressOf Btn_Click
       Next

   End Sub

   Private Sub Btn_Click(sender As Object, e As EventArgs)
       ' اكتب ما تريده في الحدث
       ' هنا نختار الباتون بناء علي التكست الخاص به
       ' ثم نحدد ما يجب أن يحدث عند الضغط علي الباتون
       Dim b As Button = CType(sender, Button)
       Select Case b.Text
           Case "button1"
               Me.Close()
           Case "button2"
               Me.BackColor = Color.Blue
           Case "button3"
               Me.Text = "any text"
           Case "button4"

           Case "button5"

           Case "button6"

       End Select

   End Sub
الكود يقوم بانشاء ازرار مع تعيين حدث النقر لكل زر
المشكلة انه اذا اظفنا اداة اخرى على الفورم  مثل بيكتر بوكس او واب براوزر   يقع مشكل ولا يفتح الفورم

انشاء فورم مع زار وتعيين الحدث لفورم المنشاء
وشكرا لكم


RE: انشاء ازرار مع تعيين حدث النقر لكل زر - sherf - 13-07-20

(25-02-17, 06:31 PM)bidaya كتب :
(25-02-17, 06:15 PM)khodor1985 كتب : السلام عليكم أخي العزيز ورحمة الله وبركاته
ضع رسالة الخطأ لنتمكن من مساعدتك


حذف مافى الفؤرمه مثل الكائن WebBrowser1

تفظل الصورة عند اضافة كنترول اخر للفورم



RE: انشاء ازرار مع تعيين حدث النقر لكل زر - sherf - 24-11-20

هل يوجد كود بعد انشاء ازرار بالكود تعين مثل تغير الاسم او اخفاء ازرار اوتعين حدث له


RE: انشاء ازرار مع تعيين حدث النقر لكل زر - Anas Mahmoud - 26-11-20

(24-11-20, 06:04 PM)sherf كتب : هل يوجد كود بعد انشاء ازرار بالكود تعين مثل تغير الاسم او اخفاء ازرار اوتعين حدث له

وضح اخي ما تريد عمله بعد انشاء الازرار بالكود 

في المشاركات اعلى طريقة تغير الخصائص وكذلك تعيين حدث له