منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] مشكلة فى اظهار فورم داخل فورم اخر باداة 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)
+--- الموضوع : [VB.NET] مشكلة فى اظهار فورم داخل فورم اخر باداة Panel (/showthread.php?tid=30777)

الصفحات: 1 2 3


مشكلة فى اظهار فورم داخل فورم اخر باداة Panel - eslame elgohary - 08-08-19

عندى مشكلة وهى انني كنت اعمل فورم اضافة مرضي وبه زر بحث وعند اختيار مريض من البحث للتعديل يتم الرجوع الى الفورم بكامل البيانات للتعديل
المشكلة بقا دلوقتي لما ضيفت Panel لظهور الفورم داخل فورم اخر 
فعند اختيار البحث لا يمكن اظهار البيانات
ده كود الاختيار الموجود فى الفورم الخاص بالبحث
كود :
Private Sub DataGridView1_Click(sender As Object, e As EventArgs) Handles DataGridView1.Click
       If DataGridView1(0, DataGridView1.CurrentRow.Index).Selected = True Then
           LAB_ADD.SHOW_DETAILES(DataGridView1.CurrentRow.Cells(1).Value)
           LAB_ADD.EDITBUTTON.Enabled = True
           LAB_ADD.DELETBUTTON.Enabled = True
           LAB_ADD.SAVEBUTTON.Enabled = False
           Me.Close()
       End If

   End Sub

وده كود الظهور الموجود فى الفورم الاصلي LAB_ADD
كود :
Sub SHOW_DETAILES(ID_)
       Try
           Dim DT As New DataTable
           Dim DA As New SqlClient.SqlDataAdapter("SELECT * FROM LAB_ADD WHERE LAB_CODE = '" & ID_ & "'", SqlConn)
           DA.Fill(DT)
           If DT.Rows.Count = 0 Then
               MessageBox.Show("التحليل غير موجود برجاء التأكد من تواجد التحليل !!", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
           Else
               Dim SHOW_ As Integer = BindingContext(DT).Position
               LAB_CODE.Text = DT.Rows(SHOW_).Item("BORG_CODE")
               LAB_NAME.Text = DT.Rows(SHOW_).Item("BORG_NAME")
               LAB_LAB.Text = DT.Rows(SHOW_).Item("BORG_LAB")
               LAB_EG.Text = DT.Rows(SHOW_).Item("BORG_EG")
               EDITBUTTON.Enabled = True
               DELETBUTTON.Enabled = True
               SAVEBUTTON.Enabled = False
           End If
       Catch ex As Exception

       End Try
   End Sub


وده كود لظهور الفورم LAB_ADD  داخل فورم SELECT_LAB

كود :
Private Sub LABBUTTON_Click(sender As Object, e As EventArgs) Handles LABBUTTON.Click
       Me.Panel1.Controls.Clear()
        Dim f As New LAB_ADD With {.TopLevel = False, .AutoSize = False}
        f.Parent = Panel1
        f.Show()
    End Sub


الخطأ فين لو سمحتوا عشان يظهر داخل الفورم الخاص ب SELECT_LAB


RE: مشكلة فى اظهار فورم داخل فورم اخر باداة Panel - سعود - 08-08-19

لم ادقق بكامل الكود لكن اسمح لي اقول رايي وهو الافضل استخدام Usercontrol اذا كنت تود احتضانها ضمن بانل بالفورم الرئيسية.


RE: مشكلة فى اظهار فورم داخل فورم اخر باداة Panel - viv - 08-08-19

مستوى Formsاعلى من مستوى Panels ولهذا الفيجوال لا يسمح باحتضان Form داخل Panel
وعليه عليك ان تستخدم UserControl كما اشار الاخ سعود


RE: مشكلة فى اظهار فورم داخل فورم اخر باداة Panel - eslame elgohary - 08-08-19

(08-08-19, 10:06 AM)viv كتب : مستوى Formsاعلى من مستوى Panels ولهذا الفيجوال لا يسمح باحتضان Form داخل Panel
وعليه عليك ان تستخدم UserControl كما اشار الاخ سعود

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

(08-08-19, 08:54 AM)سعود كتب : لم ادقق بكامل الكود لكن اسمح لي اقول رايي وهو الافضل استخدام Usercontrol اذا كنت تود احتضانها ضمن بانل بالفورم الرئيسية.

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


RE: مشكلة فى اظهار فورم داخل فورم اخر باداة Panel - سعود - 08-08-19

عطل الـ Border Style
وروح لملف التصميم للفورم المطلوب احتضانه وغير نوعه من Form الى UserControl

 Inherits System.Windows.Forms.Form

الى


 Inherits System.Windows.Forms.UserControl

لا تنسى تاخذ نسخة احتياطية للمشروع هاااااااااااا.Smile


RE: مشكلة فى اظهار فورم داخل فورم اخر باداة Panel - eslame elgohary - 09-08-19

(08-08-19, 02:29 PM)سعود كتب : عطل الـ Border Style
وروح لملف التصميم للفورم المطلوب احتضانه وغير نوعه من Form الى UserControl

 Inherits System.Windows.Forms.Form

الى


 Inherits System.Windows.Forms.UserControl

لا تنسى تاخذ نسخة احتياطية للمشروع هاااااااااااا.Smile

طيب مفيش حل غير انى احوله ل  UserControl


RE: مشكلة فى اظهار فورم داخل فورم اخر باداة Panel - سعود - 09-08-19

إقتباس :طيب مفيش حل غير انى احوله ل  UserControl
 لا اعلم بصراحة ان كانت هناك حلول اخرى.
لكن ماهي المشكلة التي تحدث عند تطبيق التغيير.


RE: مشكلة فى اظهار فورم داخل فورم اخر باداة Panel - asemshahen5 - 09-08-19

PHP كود :
   Dim f As New Form()
 
   Private Sub Button2_Click(sender As ObjectAs EventArgsHandles Button2.Click
        f
.TopLevel False
        f
.FormBorderStyle Windows.Forms.FormBorderStyle.Sizable
        f
.Size = New System.Drawing.Size(200150)
 
       f.Location = New System.Drawing.Point(2020)
 
       f.WindowState FormWindowState.Normal
        f
.Visible False
        Panel1
.Controls.Add(f)
 
       If f.Visible False Then f.Visible True Else f.Visible False
    End Sub 



RE: مشكلة فى اظهار فورم داخل فورم اخر باداة Panel - viv - 09-08-19

إقتباس :  f.TopLevel False

احيانا هناك امور صغيرة لا ننتبه لها
لم اكن اتصور ان الفيجوالستوديو يمكنه ان يضع فورم على فورم أخر .

عمل ايضا حتى بواسطة Show بعد التخلص من قصة الـ Level

كود :
 Dim f As New Form2
       f.TopLevel = False
       f.Parent = Panel1
       f.Show()
[attachment=22456]


RE: مشكلة فى اظهار فورم داخل فورم اخر باداة Panel - eslame elgohary - 09-08-19

(09-08-19, 11:29 AM)asemshahen5 كتب :
PHP كود :
   Dim f As New Form()
 
   Private Sub Button2_Click(sender As ObjectAs EventArgsHandles Button2.Click
        f
.TopLevel False
        f
.FormBorderStyle Windows.Forms.FormBorderStyle.Sizable
        f
.Size = New System.Drawing.Size(200150)
 
       f.Location = New System.Drawing.Point(2020)
 
       f.WindowState FormWindowState.Normal
        f
.Visible False
        Panel1
.Controls.Add(f)
 
       If f.Visible False Then f.Visible True Else f.Visible False
    End Sub 


اعذرني اخى مش فاهم فانا مبتديء في الفيجوال استوديو


(09-08-19, 11:57 AM)viv كتب :
إقتباس :  f.TopLevel False

احيانا هناك امور صغيرة لا ننتبه لها
لم اكن اتصور ان الفيجوالستوديو يمكنه ان يضع فورم على فورم أخر .

عمل ايضا حتى بواسطة Show بعد التخلص من قصة الـ Level

كود :
 Dim f As New Form2
       f.TopLevel = False
       f.Parent = Panel1
       f.Show()

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