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

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



طريق التعامل عن طريق الكود مع ContextMenuStrip - alims - 08-11-21

السلام عليكم ورحمة الله وبركاته 
اعملت هذا الكود مع الاداء ContextMenuStrip و هو يعمل بدون اى مشكلة و لكن ارويد عند الضغط مثلا على الغرفة العامة يتم اظهر Form2 و اذا ضغط على ااعدادات يتم اForm3 وهكذا للكل item لى موجوده كيفية عمل هذا ؟؟؟!!



كود :
 Dim item, item1, item2, item3, item4, item5, item6 As New ToolStripMenuItem


  Sub menufor()
                   item.Text = ""
            item1.Text = ""
            item2.Text = ""
            item3.Text = ""
            item4.Text = ""
            item5.Text = ""
            item6.Text = ""
            item.Text = "الغرفة العامة"
            item1.Text = "البحث عن صديق"
            item2.Text = "الاعدادات"
            item3.Text = "المساعدة"
            item6.Text = "تصغير البرنامج"
            item4.Text = "الخروج من الحساب"
            item5.Text = "اغلاقة البرنامج"
            item.Image = My.Resources.public_room
            item.ImageScaling = ToolStripItemImageScaling.SizeToFit
            Form1.ContextMenuStrip1.Items.Add(item)
            item1.Image = My.Resources.Find_a_friend
            item1.ImageScaling = ToolStripItemImageScaling.SizeToFit
            Form1.ContextMenuStrip1.Items.Add(item1)
            Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
            Form1.ContextMenuStrip1.Items.Add(item2)
            item2.Image = My.Resources.settings
            item2.ImageScaling = ToolStripItemImageScaling.SizeToFit
            Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
            Form1.ContextMenuStrip1.Items.Add(item3)
            item3.Image = My.Resources.Help
            item3.ImageScaling = ToolStripItemImageScaling.SizeToFit
            Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
            Form1.ContextMenuStrip1.Items.Add(item6)
            item6.Image = My.Resources.Minimize
            item6.ImageScaling = ToolStripItemImageScaling.SizeToFit
            Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
            Form1.ContextMenuStrip1.Items.Add(item4)
            item4.Image = My.Resources.Sign_out
            item4.ImageScaling = ToolStripItemImageScaling.SizeToFit
            Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
            item5.Image = My.Resources.close_the_program
            item5.ImageScaling = ToolStripItemImageScaling.SizeToFit
            Form1.ContextMenuStrip1.Items.Add(item5)
            Form1.ContextMenuStrip = Form1.ContextMenuStrip1
            Form1.ContextMenuStrip1.RightToLeft = System.Windows.Forms.RightToLeft.Yes



RE: طريق التعامل عن طريق الكود مع ContextMenuStrip - Anas Mahmoud - 08-11-21

استخدم مصمم الفيجوال ستوديو مباشرة لاضافة الازرار بطريقة سهلة جدا

[attachment=27180]


اضغط ضغطا مزدوجا على الزر المطلوب ليفتح لك حدث الضغط عليه

[attachment=27181]


RE: طريق التعامل عن طريق الكود مع ContextMenuStrip - alims - 08-11-21

(08-11-21, 03:00 PM)Anas Mahmoud كتب : استخدم مصمم الفيجوال ستوديو مباشرة لاضافة الازرار بطريقة سهلة جدا




اضغط ضغطا مزدوجا على الزر المطلوب ليفتح لك حدث الضغط عليه

شكرا ليك اخى العزيز على سرعه الرد و لكن اريد التعامل عن طريق الكود علشان انا عندى اكتر من لغة وجدوال فى قاعدة البيانات و افضل طريق للتعامل مع الاداء هو الكود فقط للاسف علشان كده بدور ازاى اقدر اعمل كده بالكود وفقط


RE: طريق التعامل عن طريق الكود مع ContextMenuStrip - Anas Mahmoud - 08-11-21

إذا كنت مصر على استخدام الكود لتوليد ازارا القائمة لامشكلة

اضف السطر التالي لكل زر بحسب ماتريد

كود :
AddHandler item1.Click, Sub(s, ee) Form2.Show()



RE: طريق التعامل عن طريق الكود مع ContextMenuStrip - alims - 08-11-21

شكر ليك ممكن سؤال تانى
انا استخدام الكود فى Module menu
كيفية استخدام هذا الكود فى الفروم العادية
AddHandler item1.Click, Sub(s, ee) Form2.Show()
كود :
Module menu
   Dim item, item1, item2, item3, item4, item5, item6 As New ToolStripMenuItem
   Sub menufor()
       If My.Settings.LangName.ToString = "العربية".ToString Then
           item.Text = ""
           item1.Text = ""
           item2.Text = ""
           item3.Text = ""
           item4.Text = ""
           item5.Text = ""
           item6.Text = ""
           item.Name = "11"
           item.Text = "الغرفة العامة"
           item1.Text = "البحث عن صديق"
           item2.Text = "الاعدادات"
           item3.Text = "المساعدة"
           item6.Text = "تصغير البرنامج"
           item4.Text = "الخروج من الحساب"
           item5.Text = "اغلاقة البرنامج"
           item.Image = My.Resources.public_room
           item.ImageScaling = ToolStripItemImageScaling.SizeToFit
           Form1.ContextMenuStrip1.Items.Add(item)
           item1.Image = My.Resources.Find_a_friend
           item1.ImageScaling = ToolStripItemImageScaling.SizeToFit
           Form1.ContextMenuStrip1.Items.Add(item1)
           Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
           Form1.ContextMenuStrip1.Items.Add(item2)
           item2.Image = My.Resources.settings
           item2.ImageScaling = ToolStripItemImageScaling.SizeToFit
           Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
           Form1.ContextMenuStrip1.Items.Add(item3)
           item3.Image = My.Resources.Help
           item3.ImageScaling = ToolStripItemImageScaling.SizeToFit
           Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
           Form1.ContextMenuStrip1.Items.Add(item6)
           item6.Image = My.Resources.Minimize
           item6.ImageScaling = ToolStripItemImageScaling.SizeToFit
           Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
           Form1.ContextMenuStrip1.Items.Add(item4)
           item4.Image = My.Resources.Sign_out
           item4.ImageScaling = ToolStripItemImageScaling.SizeToFit
           Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
           item5.Image = My.Resources.close_the_program
           item5.ImageScaling = ToolStripItemImageScaling.SizeToFit
           Form1.ContextMenuStrip1.Items.Add(item5)
           Form1.ContextMenuStrip = Form1.ContextMenuStrip1
           Form1.ContextMenuStrip1.RightToLeft = System.Windows.Forms.RightToLeft.Yes
 End Sub
End Module



RE: طريق التعامل عن طريق الكود مع ContextMenuStrip - Anas Mahmoud - 08-11-21

كده
حط السطر عادي وسط الكود

كود :
Module menu
  Dim item, item1, item2, item3, item4, item5, item6 As New ToolStripMenuItem
  Sub menufor()
      If My.Settings.LangName.ToString = "العربية".ToString Then
          item.Text = ""
          item1.Text = ""
          item2.Text = ""
          item3.Text = ""
          item4.Text = ""
          item5.Text = ""
          item6.Text = ""
          item.Name = "11"
          item.Text = "الغرفة العامة"
          item1.Text = "البحث عن صديق"
          item2.Text = "الاعدادات"
          item3.Text = "المساعدة"
          item6.Text = "تصغير البرنامج"
          item4.Text = "الخروج من الحساب"
          item5.Text = "اغلاقة البرنامج"

    AddHandler item.Click, Sub(s, ee) Form2.Show()
    AddHandler item1.Click, Sub(s, ee) Form3.Show()
    AddHandler item2.Click, Sub(s, ee) Form4.Show()
    AddHandler item3.Click, Sub(s, ee) Form5.Show()
    AddHandler item4.Click, Sub(s, ee) Form6.Show()
    AddHandler item5.Click, Sub(s, ee) Form7.Show()
    AddHandler item6.Click, Sub(s, ee) Form8.Show()

          item.Image = My.Resources.public_room
          item.ImageScaling = ToolStripItemImageScaling.SizeToFit
          Form1.ContextMenuStrip1.Items.Add(item)
          item1.Image = My.Resources.Find_a_friend
          item1.ImageScaling = ToolStripItemImageScaling.SizeToFit
          Form1.ContextMenuStrip1.Items.Add(item1)
          Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
          Form1.ContextMenuStrip1.Items.Add(item2)
          item2.Image = My.Resources.settings
          item2.ImageScaling = ToolStripItemImageScaling.SizeToFit
          Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
          Form1.ContextMenuStrip1.Items.Add(item3)
          item3.Image = My.Resources.Help
          item3.ImageScaling = ToolStripItemImageScaling.SizeToFit
          Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
          Form1.ContextMenuStrip1.Items.Add(item6)
          item6.Image = My.Resources.Minimize
          item6.ImageScaling = ToolStripItemImageScaling.SizeToFit
          Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
          Form1.ContextMenuStrip1.Items.Add(item4)
          item4.Image = My.Resources.Sign_out
          item4.ImageScaling = ToolStripItemImageScaling.SizeToFit
          Form1.ContextMenuStrip1.Items.Add(New ToolStripSeparator)
          item5.Image = My.Resources.close_the_program
          item5.ImageScaling = ToolStripItemImageScaling.SizeToFit
          Form1.ContextMenuStrip1.Items.Add(item5)
          Form1.ContextMenuStrip = Form1.ContextMenuStrip1
          Form1.ContextMenuStrip1.RightToLeft = System.Windows.Forms.RightToLeft.Yes
End Sub
End Module



RE: طريق التعامل عن طريق الكود مع ContextMenuStrip - alims - 08-11-21

شكرا ليك واسف على الاطالة سؤال اخر وهو انا استخدام الكود التالى و هو شغال بدون مشكلة
كود :
AddHandler item6.Click, Sub(s, ee) item66()
وقومت بعمل هذا الكود اريد فى حالة ان الفروم مخيفة تظهر و العكس صحيح  لكن هناك خطاء ممكن مساعدتى
كود :
Sub item66()
       If Form1.Show Then


           Form1.Hide()
       Else
           Form1.Show()

       End If

   End Sub

قومت بعمل هذا الكود و هو شغل و لكن هل يوجد افضل من هذا ام لا
كود :
 Sub item66()
       If Form1.ShowInTaskbar Then
           Form1.Hide()
           Exit Sub
       Else
           Form1.Show()
       End If
   End Sub



RE: طريق التعامل عن طريق الكود مع ContextMenuStrip - Anas Mahmoud - 08-11-21

اذا كنت ستستخدم sub خارجي يجب اضافة AddressOf

كود :
      AddHandler item1.Click, AddressOf item66

كود :
   Sub item66()
       If Form2.Visible Then


           Form2.Hide()
       Else
           Form2.Show()

       End If

   End Sub