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

وضع الفوم الثاني في نقطة معينة من الفوم الأول !

بدأه 2120 في 26 ديسمبر 2008 · 5 رد · 492 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

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

هو اني أريد أن أضعه فوق منطقة معينة من الفوم الأول بحيث لا يمكن تحريكه أبدا .. هل ممكن فعل ذلك ..

ولكم جزيل الشكر والامتنان

وضعت رابط صورة يوضح ذلك

748156479.jpg

تم تعديل هذه المشاركة بواسطة 2120 في 26 ديسمبر 2008 في 08:13

#2

هل من جواب يا خبراء ولكم جزيل الشكر

#3

معذرة على الازعاج فقط اردت حلا لو سمحتم

#4

أخي الفاضل

الفورم ما هو الا كونترول اصلا ولكنه يمتلك صفات واحداث اكثر شوية

ممكن تستخدم AddControl وتضيفه الفورم الثاني مثلا الي الفورم الأول

أفترض ان عندك مشروع به Form1 وأيضا به Form2

يمكنك استخدام الكود التالي

طبعا دي مجرد فكرة ليس إلا

Public Class Form1

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

		Dim frm As New Form2
		frm.BackColor = Color.Maroon
		frm.TopLevel = False
		frm.BringToFront()
		frm.Visible = True
		frm.Location = New Point(10, 10)
		frm.Text = "Any thinf here"
		Me.Controls.Add(frm)

	End Sub

End Class

بالتوفيق

أخوك عمر

#5

مرحباً أخي الكريم .

منع الـ Form من التحرك بتاتاً ( مستحيل ) الا في حالة واحدة وهي تغير الخاصية FromBorderStyle الى None والتي ستخفي شريط العنوان من قمة الـ Form .

أو يمكنك تحديد ذلك مع بعض الأحداث مثل ( SizeChanged, LocationChanged ) ولكنها ستتحرك عند تحريك المستخدم اياها و عندما ينفجر احدا الاحداث المذكورة ستعود الى المكان المحدد .

مثال :

Public Class Form

Private Sub Button1_Click( Byval Sender As System.OBject, Byval E As System.EventARgs ) Handles Button1.Click

Dim NForm As New MyDynForm( Me )

NForm.Show()

NForm.Tag = 1

NForm.UpdateLocation()

End Sub

Private Sub Form1_LocationSizeChanged( Byval Sender As System.Object, Byval E As System.EVentArgs ) Handles MyBase.LocationChanged, MyBase.SizeChanged

For Each NForm As Form In My.Application.OpenForms

If Not NForm.Tag Is Nothing Then

If NForm.Tag = 1 Then

DirectCast( NForm, MyDynForm ).UpdateLocation()

End if

End If

Next NForm

End Sub

End Class

Private Class MyDynForm

Inherits System.Windows.Forms.Form

Private _MainForm As Form

Public ReadOnly Property MainForm() As Form

Get

Return _MainForm

End Get

End Property

Public Sub New( Byval NMainForm As Form )

_MainForm = NMainForm

End Sub

Protected Overrides Sub OnSizeChanged( Byval E As System.EventArgs )

UpdateLocation()

MyBase.OnSizeChanged( E )

End Sub

Protected Overrides Sub OnLocationChanged( Byval E As System.EventArgs )

UpdateLocation()

MyBase.OnLocationChanged( E )

End Sub

Public Sub UpdateLocation()

Top = _MainForm.Top + CInt( ( _MainForm.Height - Height ) / 2 )

Left = _MainForm.Left + CInt( ( _MainForm.Width - Width ) / 2 )

End Sub

End Class

تحياتي BasharVS .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 28 ديسمبر 2008 في 06:22

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#6

جزاكم الله ألف خير ..

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…