تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اضافة فورم داخل فورم آخر
#1
ما هو الكود المستخدم لاضافة فورم داخل فورم ثاني ؟؟؟
أو كيف تكون الطريقة

ان شاء الله يكون سؤالي المرة هذه واضح
الرد }}}
تم الشكر بواسطة: M S C O D E R
#2
لا افهم كيف يتم اضافة Form داخل Form اخر

ربما تقصد اداة TapContol ؟
الرد }}}
تم الشكر بواسطة:
#3
عليك بتعريف متغير من النوع Form وليكن اسمه مثلا form2 ثم تقوم بضبط خاصية TopLevel وتجعل قيمتها تساوي False ثم تضيفه برمجيا الي الفورم الرئيسي وعليك ان لا تنسي ان تغلقه قبل اغلاق الفورم الرئيسي

الكود سيكون شكله كالأتي


كود :
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
الرد }}}
تم الشكر بواسطة: nabil1982 , معاذ_ابراهيم
#4
اجابتك جميلة جدا silverlight
لاكن هناك طريقة اسهل وليس بها تعقيد ابدا
على حسب علمى
وهى اضافة اداة panal الى النموذج الرئيسى  ثم تضع زر لفتح النموذج الضغير
ثم تكتب هذا الكود التالى داخل الزر
PHP كود :
 Dim f As New formName With {.TopLevel False, .AutoSize False}
 
       f.Parent Panel1
        f
.Show() 
ملحوظة ضع اسم النموزج الذى تريد فتحة بدلا من formName

انا اسف لك اخى العزيز silverlight فلا تسئ الظن بى لاكن بعض المبتدئين لا يريدون الاكواد والاشياء المعقدة
فا البساطة فى الكود والطريقة شئ جميل بالنسبة لهم
يارب اذا اعطيتني علما...اعطني معه حكمه...واذا اعطيتني مالا....اعطيني معها كرما...واذا اعطيتني قوه...اعطني معها رحمه...واذا اعطيتني سلطه...اعطني معها عدلا...واذا اعطيتني مسئوليه...اعطيني معها امانه...واذا اعطيتني نجاحا...اعطني معها تواضعا...اللهم امين
الرد }}}
تم الشكر بواسطة: معاذ_ابراهيم
#5
لا يوجد أي داعي للإعتذار أبدا لأن الهدف هنا هو مشاركة الافكار مع بعضنا البعض حتي تعم الفائدة علي الجميع و الكود المكتوب الهدف منه ليس |إضافة فورم الي فورم فقط لكن أيضا توضيح كيف يمكن اضافة بعض Handlers برمجيا حتي يمكن الاستفادة من الفورم المضاف بشكل أكبر
أيضا لي هدف شخصي من التوسع في كتابة الكود و هو ان تجعل من يسأل سؤالا يبحث اكثر و يدرس أكثر و من ثم سوف يستفيد أكثر

اي مبرمج لديه خبرة معقولة يستطيع ان يكتب الكود كاملا لمن سأل السؤال ...وهننا لن يستفيد السائل كثيرا .

أشكرك كثيرا يا أحمد علي ردك تقبل تحياتي
الرد }}}
#6
شكرا جزيلا لكم

بالتوفيق للجميع
الرد }}}
تم الشكر بواسطة: معاذ_ابراهيم
#7
اخي العزيز اجابتك مفيدة جدا لكنك نسيت ان تضيف كود يقوم بإزالة محتوى البانل السابق وعرض الجديد لانه يقوم بعرض الفورم داخل البانل فوق محتواه الموجود مسبقاً ..
الرد }}}
#8
اجل اخواني الاعزاء شكرا لمجهودكم لتبادل المعلومه ولكن بقي ان تضعوا الزهور في المزهريه وهي كود اغلاق الفورم السابق داخل البانل عند الضغط على زر فورم اخر ليظهر محتواه مكان الفورم السابق

اسف جدا على تطفلي اخواني الاعزاء وممكن تعدلوا الكود ويصير بها الطريقه علاشان يشتغل وما يعطلش حد ويصير يفتح ويغلق الفورم بطريقه مريحه جدا 
كود :
Me.Panel2.Controls.Clear()
       Dim f As New Form3 With {.TopLevel = False, .AutoSize = False}
       f.Parent = Panel2
       f.Show()
انا جربته وشتغل واسف جدا مره اخرى على تدخلي في تعديل الكود ولكن من اجل ان تكتمل فائدة الكود ويصير بشكله الكامل
الرد }}}
تم الشكر بواسطة:
#9
انسخ هذا الكود الى الفورم

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
IsMdiContainer = True
Dim form As New Form
form.MdiParent = Me
form.Show()
End Sub
هَٰٓؤُلَآءِ قَوْمُنَا ٱتَّخَذُوا۟ مِن دُونِهِۦٓ ءَالِهَةً لَّوْلَا يَأْتُونَ عَلَيْهِم بِسُلْطَٰنٍۭ بَيِّنٍ فَمَنْ أَظْلَمُ مِمَّنِ ٱفْتَرَىٰ عَلَى ٱللَّهِ كَذِبًا
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اريد اضافة حفظ PDF فى مسار على الهارد- مثال الاستاذ عبدالله الدوسري new_programer 0 48 13-04-24, 12:59 PM
آخر رد: new_programer
  كيفية تنفيذ أمر عرض بيانات من فورم ثان مصمم هاوي 7 338 19-02-24, 12:28 AM
آخر رد: مصمم هاوي
  [سؤال] كيفية انشاء فورم داخل مشروعى عاصم النجار 2 314 05-01-24, 12:36 AM
آخر رد: HALIM ELEULMA
  حماية عمود داخل ورقة الاكسل العيدروس 3 195 05-01-24, 12:21 AM
آخر رد: HALIM ELEULMA
  [VB.NET] فتح فورم بعد تحقق الشرط h2551996 2 381 18-12-23, 10:56 PM
آخر رد: h2551996
  اضافة ادوات لفيجوال بيسك خالد20 10 1,987 18-12-23, 07:51 PM
آخر رد: ابراهيم عبدالباقى
  هل الداتا قراد فيو تسمح بتعدد الاسطر داخل الخلية عند جلب بيانات نصية طويله من قاعدة ب khalidalwdi 3 468 10-11-23, 11:08 AM
آخر رد: khalidalwdi
  يوجد مشكلة عند تحميل البيانات فى كمبوبوكس داخل داتا جريد new_programer 2 475 17-10-23, 06:51 PM
آخر رد: new_programer
  كيف افتح فورم من فورم اخر بنفس id salah525 2 341 14-10-23, 10:22 PM
آخر رد: aljzazy
  سؤال عن تصدير فورم الى ملف pdf ابو انس 0 346 21-09-23, 10:28 PM
آخر رد: ابو انس

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم