منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[تم حل الموضوع] توسيط الفورم في الفورم الرئيسيي - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [تم حل الموضوع] توسيط الفورم في الفورم الرئيسيي (/showthread.php?tid=34549)



[تم حل الموضوع] توسيط الفورم في الفورم الرئيسيي - alshandodi - 01-05-20

السلام عليكم اخوتي وأحبابي 
لو سمحتم اريد كود وهو توسيط الفورم داخل الفورم الرئيسي 
عند فتح  الملف يكون الفورم في وسط الفورم الرئيسي ولكن اريد الكود لاضعه في بوتن 
ولكم جزيل الشكر والتقدير


[attachment=24593]
====================================
[attachment=24594]


RE: توسيط الفورم في الفورم الرئيسيي - alshandodi - 02-05-20

Up....
..........


RE: توسيط الفورم في الفورم الرئيسيي - ابراهيم ايبو - 02-05-20

السلام عليكم ورحمة الله وبركاته
اخي الalshandodi  من نافذة الخصائص اختر الخاصية StartPosition واختر منها Center Parent
اي توسيط داخل الفورم الاب
اما بالكود استبدل اسم الفورم form1 باسم الفورم الذي تريد
كود :
Form1.StartPosition = StartPosition.CenterParent



RE: توسيط الفورم في الفورم الرئيسيي - alshandodi - 02-05-20

وعليكم السلام ورحمة الله وبركاته
 اخي العزيز ابراهيم حاولت عمل هذا الكود ولكن دون جدوى لانه لا يضع الفورم في وسط

واعتذر منك لانني كنت بعيدا عن الكمبيوتر

[attachment=24598]


RE: توسيط الفورم في الفورم الرئيسيي - عبد العزيز البسكري - 02-05-20

جرّب هذا الكود بالفورم لود ..
كود :
 Dim douX, douY As Double
       Dim srtX, srtY As Short
       douX = (Screen.PrimaryScreen.Bounds.Width - Me.Width) / 2
       srtX = CShort(douX)
       douY = (Screen.PrimaryScreen.Bounds.Height - Me.Height) / 2
       srtY = CShort(douY)
       Me.SetDesktopLocation(srtX, srtY)



RE: توسيط الفورم في الفورم الرئيسيي - alshandodi - 02-05-20

اخي العزيز عبدالعزيز شكرا جزيلا لك دون جدوى لانه لا يضع الفورم في وسط

[attachment=24597]


RE: توسيط الفورم في الفورم الرئيسيي - ابراهيم ايبو - 02-05-20

السلام عليكم
بارك الله بك اخي عبد العزيز احي  Alshandodi
يالنسبة CenteParent يضعه في المنتصف افقيا ولكن عموديا يضعه نحو الاسفل قليلا
استخدم CenterScreen يأتي في منتصف الشاشة ولكن يجب ان يكون الفورم الاب مفتوح بكامل الشاشة ايضا


RE: توسيط الفورم في الفورم الرئيسيي - alshandodi - 02-05-20

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


RE: توسيط الفورم في الفورم الرئيسيي - عبدالله الدوسري - 02-05-20

ضع الكود في النافذة الابن ( نافذة تسجيل الدخول )
لاحظ الرقم ١٨ في المعادلة : هذا الرقم متروك لتقديرك , لانه يعتمد على مايوجد في راس النافذة الأب 

كود :
   Private Sub Login_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       AddHandler Me.ParentForm.Resize, AddressOf Me.CenterMe
       AddHandler Me.ParentForm.Move, AddressOf Me.CenterMe
       Me.CenterMe(Nothing, Nothing)
   End Sub


   Public Sub CenterMe(sender As Object, e As EventArgs)
       Me.Left = (Me.ParentForm.ClientRectangle.Width / 2) - (Me.Width / 2)
       Me.Top = ((Me.ParentForm.Bottom - Me.ParentForm.Top) / 2) - (Me.Height / 2) - (Me.ParentForm.Height - Me.ParentForm.ClientRectangle.Height) - (18)
   End Sub


   Private Sub Login_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
       RemoveHandler Me.ParentForm.Resize, AddressOf CenterMe
       RemoveHandler Me.ParentForm.Move, AddressOf CenterMe
   End Sub



RE: توسيط الفورم في الفورم الرئيسيي - alshandodi - 03-05-20

(02-05-20, 01:37 PM)عبدالله الدوسري كتب : ضع الكود في النافذة الابن ( نافذة تسجيل الدخول )
لاحظ الرقم ١٨ في المعادلة : هذا الرقم متروك لتقديرك , لانه يعتمد على مايوجد في راس النافذة الأب 

كود :
   Private Sub Login_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       AddHandler Me.ParentForm.Resize, AddressOf Me.CenterMe
       AddHandler Me.ParentForm.Move, AddressOf Me.CenterMe
       Me.CenterMe(Nothing, Nothing)
   End Sub


   Public Sub CenterMe(sender As Object, e As EventArgs)
       Me.Left = (Me.ParentForm.ClientRectangle.Width / 2) - (Me.Width / 2)
       Me.Top = ((Me.ParentForm.Bottom - Me.ParentForm.Top) / 2) - (Me.Height / 2) - (Me.ParentForm.Height - Me.ParentForm.ClientRectangle.Height) - (18)
   End Sub


   Private Sub Login_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
       RemoveHandler Me.ParentForm.Resize, AddressOf CenterMe
       RemoveHandler Me.ParentForm.Move, AddressOf CenterMe
   End Sub

شكرا جزيلا لك عزيزي لقد نجح الكود ولكن استبدلت هذا الكود 
كود :
 Me.Left = (Me.ParentForm.ClientRectangle.Width / 2) - (Me.Width / 2)

بهذا الكود

كود :
Me.Left = ((Me.ParentForm.Right - Me.ParentForm.Left) / 2) - (Me.Width / 2) - (Me.ParentForm.Width - Me.ParentForm.ClientRectangle.Width) - (55)

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