منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : نقل Button من الفورم الى Panel
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كود :
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

السلام عليكم
حاولت بهذا الكود لنقل الزر من الفورم  الى البانيل ......  ولكن تفاجأت انه يختفي
شكرا جزبلا
وعليكم السلام
اضغط على البانال بالزر اليميني واختر من send to back
او اضغط على الاداة التي تختفي بالزر الايمن واختر bring to front
اهلين ابو انس

الحين الشرح الي تقوله هذا اعمله اثناء تشغيل البرنامج او اثناء انشاء البرنامج ؟؟؟؟؟؟
(18-07-21, 06:38 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

حاول تطبق الكود هذا وتعرف ايش قصدي
(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 
السلام عليكم ورحمة الله وبركاته
كل عام وانتم بخير اضحى مبارك
اخوتي الكرام الشكر  لكل من ساهم في الاجابة
الموضوع بسيط وهو تغيير مكان البوتون من خارج البانل في الفورم الى المكان الجديد في البانل اي سيكون تابعا للبانل وليس فوقه او تحته
مهما يكن مستوى لير البوتون الى الخلف او الامام لايهم اينما كان فقط سنقوم باضافته للبانل 
كود :
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