منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
نقل Button من الفورم الى Panel - نسخة قابلة للطباعة

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



نقل Button من الفورم الى Panel - Mtaktak - 18-07-21

كود :
Private Sub Button1_MouseDown(sender As Object, e As MouseEventArgs) Handles Button1.MouseDown
       If e.Button = MouseButtons.Left Then
           Button1.DoDragDrop(Button1.ToString, DragDropEffects.Move)
           Panel1.Controls.Add(Bp11)
           Button1.Visible = True
       End If
   End Sub

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


RE: نقل Button من الفورم الى Panel - Mtaktak - 18-07-21

شكرا جزبلا


RE: نقل Button من الفورم الى Panel - ابو انس - 18-07-21

وعليكم السلام
اضغط على البانال بالزر اليميني واختر من send to back
او اضغط على الاداة التي تختفي بالزر الايمن واختر bring to front


RE: نقل Button من الفورم الى Panel - Mtaktak - 18-07-21

اهلين ابو انس

الحين الشرح الي تقوله هذا اعمله اثناء تشغيل البرنامج او اثناء انشاء البرنامج ؟؟؟؟؟؟


RE: نقل Button من الفورم الى Panel - ابو انس - 18-07-21

(18-07-21, 06:38 PM)Mtaktak كتب : اهلين ابو انس

الحين الشرح الي تقوله هذا  اعمله اثناء تشغيل البرنامج او اثناء انشاء البرنامج ؟؟؟؟؟؟ا
اثناء انشاء البرنامج وليس اثناء تشغيله


RE: نقل Button من الفورم الى Panel - Mtaktak - 18-07-21

يا ابو انس الله يجزاك خير

من الكود الي ارفقته مع سؤالي .. واضح اني اسأل اثناء تشغيل البرنامج .... اما عند انشاء البرنامج من البديهي ومن السهولة عمل اي شيء

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


RE: نقل Button من الفورم الى Panel - ابو انس - 18-07-21

طبعا انا فاهم عليك
انت اعمل ما قلته لك اثناء قبل تشغيل البرنامج مرة واحد فقط بتنحل المشكلة
يعني بعد تشغيل البرنامج ما رح تضطر تعمل اي شي


RE: نقل Button من الفورم الى Panel - Mtaktak - 18-07-21

هذا الحل الذي كنت ابحث عنه

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Button1.Parent = Pnel1
Button1.Location = New Point(0, 0)
End Sub

شكرا ابو انس ...
اعمل فورم واعمل عليه Button , Panel
وال Button على الفورم مش في ال Panel

حاول تطبق الكود هذا وتعرف ايش قصدي


RE: نقل Button من الفورم الى Panel - asmarsou - 19-07-21

(18-07-21, 08:09 PM)Mtaktak كتب : هذا الحل الذي كنت ابحث عنه

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Button1.Parent = Pnel1
       Button1.Location = New Point(0, 0)
   End Sub

شكرا ابو انس ...
اعمل فورم واعمل عليه Button , Panel
وال Button على الفورم مش في ال Panel

حاول تطبق الكود هذا وتعرف ايش قصدي

السلام عليكم
اسمحو لي بهذا الطرح
تحريك جل ادوات الفورم بالموس (سحب و افلات) فقط بتغيير اسم الادات المراد ازاحتها في المتغيرات في المثال التالي الذي وضعب به كود لازاحة الاداتين الازرار واليبل مهما كان عددها
بالكود التالي
PHP كود :
Public Class Form1
    Dim Off 
As Point
    Private Sub Form1_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        WireButton
(Me)
 
       WireLabels(Me)
 
   End Sub

    Private Sub WireLabels
(ByVal cont As Control)
 
       For Each ctl As Control In cont.Controls
            If TypeOf ctl Is Label Then
                AddHandler ctl
.MouseDownAddressOf obj1_MouseDown
                AddHandler ctl
.MouseMoveAddressOf obj1_MouseMove
            ElseIf ctl
.HasChildren Then
                WireLabels
(ctl)
 
           End If
 
       Next
    End Sub

    Private Sub WireButton
(ByVal cont As Control)
 
       For Each ctl As Control In cont.Controls
            If TypeOf ctl Is Button Then
                AddHandler ctl
.MouseDownAddressOf obj1_MouseDown
                AddHandler ctl
.MouseMoveAddressOf obj1_MouseMove
            ElseIf ctl
.HasChildren Then
                WireButton
(ctl)
 
           End If
 
       Next
    End Sub
    Private Sub obj1_MouseDown
(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgs)
 
       Off.MousePosition.sender.Left
        Off
.MousePosition.sender.Top
    End Sub

    Private Sub obj1_MouseMove
(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgs)
 
       If e.Button MouseButtons.Left Then
            sender
.Left MousePosition.Off.X
            sender
.Top MousePosition.Off.Y
        End 
If
 
   End Sub

      

End 
Class 



RE: نقل Button من الفورم الى Panel - ابراهيم ايبو - 19-07-21

السلام عليكم ورحمة الله وبركاته
كل عام وانتم بخير اضحى مبارك
اخوتي الكرام الشكر  لكل من ساهم في الاجابة
الموضوع بسيط وهو تغيير مكان البوتون من خارج البانل في الفورم الى المكان الجديد في البانل اي سيكون تابعا للبانل وليس فوقه او تحته
مهما يكن مستوى لير البوتون الى الخلف او الامام لايهم اينما كان فقط سنقوم باضافته للبانل 
كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Button1.Location = New Point(20, 20)
       Panel1.Controls.Add(Button1)
   End Sub