الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استدعاء فورم داخل فورم آخر مع بقاء الأصل فعال

بدأه adtd في 12 مايو 2007 · 21 رد · 3,445 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

احبابي

اريد استدعاء فورم من داخل فوورم آخر لكن الأصل ليس أب

form2.ShowDialog()

أنا استعمل هذه لكن الفورم الأصلي لكن الأصل يصبح موجود لكن غير فعال

ما الحل

تم تعديل هذه المشاركة بواسطة adtd في 12 مايو 2007 في 17:16

#2
 Dim Bok As New fORM2
		Bok.Show()

اتوقع انو الكود اللي تريده هذا فهذا يظهر لك كلا الفورمين مع فعاليتهما

وتوضع في بوتوم اللي يفتح فورم الثاني

علما بان bok متغيير من عندي

#3

السلام عليكم ....

----------------

أليك هذا الكود ضعه في حدث ما وليكن button على Form1

   Dim frm2 As New Form2

		frm2.Show()
		Me.Focus()

طبعا نحن جعلنا التركيز على Form1 عن طريق

Me.Focus()

ويجب وضعها بعد فتح Form2

أنظر للملف المرفق ...

والسلام خير خاتم

WindowsApplication2.zip

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#4

انا لا أريد ان يفتح الثاني تكون له حرية الحركة

أريد ان أفتحه لكن داخل الأول

أشكرك أخي

#5
اقتباس
انا لا أريد ان يفتح الثاني تكون له حرية الحركة

أريد ان أفتحه لكن داخل الأول

هذا ما فعلته انا ...

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#6
اقتباس
هذا ما فعلته انا ...

أخي الي انتا عملته بيسمح اني اتحكم في كل واحد لحاله واحركه

انا عايز التاني لما يفتح يكون ملزم بالأول يعني لو حركت الأول يتحرك معه ولو أغلقته يسكر معه

لك كل الشكر

#7

السلام عليكم

.....

أجعل خاصية

Me.IsMdiContainer = True

وهذا كل شيء

تم تعديل هذه المشاركة بواسطة فلسطيننا في 12 مايو 2007 في 22:10

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#8

أخي زبطت معي

لكن المشكلة نها عملت مشاكل في تصميم الفورم

ما في طريقة تانية

لك كل الشكر والإحترام

#9

بحسب علمي لا يمكن ان تفتح فورم داخل فورم ليس اب

وبما ان الفورم الأب له خصائص تختلف قليلا عن الفورم الابن فعليه يجب ان تستوعب هذه النقطة وتعيد النظر

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#10
اقتباس
بحسب علمي لا يمكن ان تفتح فورم داخل فورم ليس اب

وبما ان الفورم الأب له خصائص تختلف قليلا عن الفورم الابن فعليه يجب ان تستوعب هذه النقطة وتعيد النظر

أخي الغالي زبط معي وفتح لكن المشكة انه عملي مشكل كبيرة في التصميم والغي الكثير من الميزات منها التحريك مع الماوس

اشكرك

وانتظر حلول بقية الأحبة

#11

up

#12

السلام عليكم

يمكن عمل ذلك مع كتابة اللون اثناء التشغيل و ليس اثناء التصميم

على سبيل المثال ..

 Private Sub Form1_Load(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles MyBase.Load


		Dim ctl As Control
		Dim ctlMDI As MdiClient
		Me.IsMdiContainer = True
		' Loop through all of the form's controls looking
		' for the control of type MdiClient.
		For Each ctl In Me.Controls
			Try
				' Attempt to cast the control to type MdiClient.
				ctlMDI = CType(ctl, MdiClient)

				' Set the BackColor of the MdiClient control.
				ctlMDI.BackColor = Me.BackColor

			Catch exc As InvalidCastException
				' Catch and ignore the error if casting failed.
			End Try
		Next

		' Display a child form to show this is still an MDI application.
		Dim frm As New Form2()
		frm.MdiParent = Me
		frm.Show()

	End Sub

القضية على الرابط التالي من ميكروسوفت

بالتوفيق و السداد إن شاء الله.

MDIBackColorApp.rar

في المثال يتضح المقال

#13

الف شكر لك وبارك الله فيك

#14

يعطيك العافية اخوي الشهاب الحارق ...

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

ولكن المشكلة انني اريد ان تكون الصورة ممتدة على جميع الفورم (( stretch )) وليست متكررة حسب حجم الفورم ؟؟؟

فما هو الحل ان تكرمتوا ؟؟؟

#15

أبو خالد العيدروس

يمكنك كتابة الكود التالي

Me.BackgroundImageLayout = ImageLayout.Stretch
#16

شكرا ياخ شهاب ولكن عندي سوال بسيط

كيف يمكنني استخدام نفس الطريقه (فريم يحتوي باقي الصفحات) ولكن بشرط ان تاتي في مكان معين منها

ارجو المساعده ياخون

الحل جربته وطلع صحيح ولكان اريد ان احدد الموقع الجديد للصفحه التى اطلبها وليكن مثل في وسط الفريم القديم

1145392391.gif
#17

ارجو المساعده ياخون في كيفيه تحديد مكان ظهور الصفحه الجديده في الشاشه الحاضنه

وليكن في منتصفها بالضبط

1145392391.gif
#18

صاحبة السمو

يمكنك استخدام الكود التالي لإظهار الفورم الجديدة بداخل الفورم الأم

   frm.StartPosition = FormStartPosition.CenterParent
#19

الاخ معاني

في البداية اشكر لك سرعه ردك

ولكن للاسف لم ينجح معي الحل ولم يعمل الكود

المطلوب هو كالتالي

الشاشة الرئسية تحتضن كل الشاشات التى يتم فتحها

وقد اجاب الاخ شهاب عن هذا الجزء

ولكن كيف يمكنني تحديد مكان ظهور الشاشه الجديده في الشاشه الحاضنه على اعتبار انني اريد ان ادخل قيمه رقمية تحدد مكان ظهور كل فريم

شكرا لك مرة تاني

1145392391.gif
#20

عذراً أختي صاحبة السمو إذا كنت ما وضحت المقصود بشكل واضح

لإظهار الفورم في منتصف الشاشة

frm.StartPosition = FormStartPosition.CenterScreen
		frm.MdiParent = Me
		frm.Show()

ولإظهارها في نقطة معينة من الشاشة

 
frm.Location = New Point(52, 86)
		frm.MdiParent = Me
		frm.Show()

وأرفقت لك ملف فيه المطلوب

أتمنى أن أكون قد أفدتك

MdiForms.rar

#21

شكرا اخواني الكرام

ولكن توجهني مشكلة

وهي عندما يكون في الصفحة داتاغريد فيو

فانها تتاثر ويتغير ملامحها وبعض الصفحات الاخرة التى فيها اعمده مقسمة(فانها لات تعمل اطلاقا)

فهل يمكن فصل تاثير هذه الخاصيه عن محتويات الصفحه وخاصتا الداتا غريد

1145392391.gif
#22
dim Pform1 as form1
Pform1.visible=true
Pform1.pringtofront()
form1.visible=false

مواضيع مشابهة