09-04-15, 04:04 PM
(آخر تعديل لهذه المشاركة : 09-04-15, 04:25 PM {2} بواسطة silverlight.)
عليك بتعريف متغير من النوع Form وليكن اسمه مثلا form2 ثم تقوم بضبط خاصية TopLevel وتجعل قيمتها تساوي False ثم تضيفه برمجيا الي الفورم الرئيسي وعليك ان لا تنسي ان تغلقه قبل اغلاق الفورم الرئيسي
الكود سيكون شكله كالأتي
لكن افضل الطرق هي ان تقوم ببناء فورم جديد علي حده إما عن طريق الوراثه او تضيفه بشكل عادي الي مشروعك ثم تغير في خصائصه و صفاته Property كما يحلو لك و أيضا يمكنك أن تضيف له ما شئت من احداث و خلافه ثم تضيفه برمجيا كما هو موضح في الكود اعلاه
و الكود التالي يوضح تفاصيل أكثر للإجابة علي سؤالك
الكود سيكون شكله كالأتي
كود :
Dim form2 as Form = New Form
form2.toplevel = False
' يمكنك ضبط المزيد من خصائص الفورم التاني هنا قبل اضافته الي الفورم الأول
me..controls.add(form2)
Form2.show()لكن افضل الطرق هي ان تقوم ببناء فورم جديد علي حده إما عن طريق الوراثه او تضيفه بشكل عادي الي مشروعك ثم تغير في خصائصه و صفاته Property كما يحلو لك و أيضا يمكنك أن تضيف له ما شئت من احداث و خلافه ثم تضيفه برمجيا كما هو موضح في الكود اعلاه
و الكود التالي يوضح تفاصيل أكثر للإجابة علي سؤالك
كود :
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.AutoScroll = True
Dim frm2 As Form = New Form()
AddHandler frm2.LocationChanged, AddressOf Me.Form2_LocationChanged
AddHandler frm2.SizeChanged, AddressOf Me.Form2_SizeChanged
frm2.TopLevel = False
Me.Controls.Add(frm2)
If frm2.Size.Width > Me.Size.Width Or frm2.Size.Height > Me.Size.Height Then
Me.SetAutoScrollMargin(frm2.Size.Width - Me.Size.Width, frm2.Size.Height - Me.Size.Height)
End If
frm2.Show()
End Sub
Private Sub Form2_LocationChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim f As Form = sender
Me.SetAutoScrollMargin(f.Location.X, f.Location.Y)
End Sub
Private Sub Form2_SizeChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim f As Form = sender
If f.Size.Width > Me.Size.Width Or f.Size.Height > Me.Size.Height Then
Me.SetAutoScrollMargin(f.Size.Width - Me.Size.Width, f.Size.Height - Me.Size.Height)
Else
Me.SetAutoScrollMargin(0, 0)
End If
End Sub
End Class
