منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : [تم حل الموضوع] توسيط الفورم في الفورم الرئيسيي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم اخوتي وأحبابي 
لو سمحتم اريد كود وهو توسيط الفورم داخل الفورم الرئيسي 
عند فتح  الملف يكون الفورم في وسط الفورم الرئيسي ولكن اريد الكود لاضعه في بوتن 
ولكم جزيل الشكر والتقدير


[attachment=24593]
====================================
[attachment=24594]
Up....
..........
السلام عليكم ورحمة الله وبركاته
اخي الalshandodi  من نافذة الخصائص اختر الخاصية StartPosition واختر منها Center Parent
اي توسيط داخل الفورم الاب
اما بالكود استبدل اسم الفورم form1 باسم الفورم الذي تريد
كود :
Form1.StartPosition = StartPosition.CenterParent
وعليكم السلام ورحمة الله وبركاته
 اخي العزيز ابراهيم حاولت عمل هذا الكود ولكن دون جدوى لانه لا يضع الفورم في وسط

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

[attachment=24598]
جرّب هذا الكود بالفورم لود ..
كود :
 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)
اخي العزيز عبدالعزيز شكرا جزيلا لك دون جدوى لانه لا يضع الفورم في وسط

[attachment=24597]
السلام عليكم
بارك الله بك اخي عبد العزيز احي  Alshandodi
يالنسبة CenteParent يضعه في المنتصف افقيا ولكن عموديا يضعه نحو الاسفل قليلا
استخدم CenterScreen يأتي في منتصف الشاشة ولكن يجب ان يكون الفورم الاب مفتوح بكامل الشاشة ايضا
وعليكم السلام ورحمه الله وبركاته
بارك الله فيك اخي ابراهيم نعم نجح الامر
ولكن اريده عباره في وضع التشغيل الفورم استطيع ان اضعه في المنتصف
لو انتقل من موقعه
ضع الكود في النافذة الابن ( نافذة تسجيل الدخول )
لاحظ الرقم ١٨ في المعادلة : هذا الرقم متروك لتقديرك , لانه يعتمد على مايوجد في راس النافذة الأب 

كود :
   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
(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)

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