تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جعل الادوات في منتصف الفورم بدقة
#1
السلام عليكم اخوتي الكرام
اولا لم اعرف في اي قسم اضع هذا الموضوع .. لكم حرية اختيار القسم المناسب (الاخوة المشرفون)
انشأت فورم ووضعت فيه Panel وفيه بعض الادوات لا على التعيين ثم قمت بتوسيط هذا الـ panel في الفورم  في حدث تغيير الحجم  وفق المعادلة المعروفة التالية :

كود :
Dim x As Integer = (Me.Width - panel1.Width) / 2
       Dim y As Integer = (Me.Height - panel1.Height) / 2
       panel1.Location = New Point(x, y)
ولاحظت عند التصغير ان الـ panel لايكون في المنتصف ثم قمت بالتعديل حتى تم الامر بشكل صحيح
 واردت ان تكون هذه المعلومة بين ايديكم لتستفيدوا منها وتكون صدقة جارية والكود المعدل على النحو التالي:

كود :
Dim x As Integer = (Me.Width - 16 - panel1.Width) / 2
       Dim y As Integer = (Me.Height - 36 - panel1.Height) / 2
       panel1.Location = New Point(x, y)
ارجو التجربة  وابداء الرأي والله المستعان .. دمتم بخير


الملفات المرفقة
.rar   ibrahimibo.rar (الحجم : 105.08 ك ب / التحميلات : 13)
الرد
تم الشكر بواسطة: rnmr , rnmr , princelovelorn
#2
جرب هذا بدون كود

حدد أداة Panel

من القائمة Format ومنه Center in Form وتنفيذ كل من Horizontally وVertically

من الخاصية Anchor ألغي كل الإتجاهات الأربعة
الرد
تم الشكر بواسطة: ابراهيم ايبو
#3
السلام عليكم اخي rnmr كم يسعدني النقاش 
في الحالة التي تذكرها سيكون البانل يحتل كامل الفورم والادوات ستبقى في مكانها المحدد حتى لو كبر الفورم
أما في حالتنا نحن لانريد تغيير حجم البانل الذي يحوي الادوات التي نريدها دائما في منتصف الفورم
والبانل هو فقط لكي لانكتب اكواد لكل اداة
دمت بخير ومحبا للخير
الرد
تم الشكر بواسطة: rnmr
#4
(07-10-18, 08:50 PM)ابراهيم ايبو كتب :
السلام عليكم اخي rnmr كم يسعدني النقاش 
في الحالة التي تذكرها سيكون البانل يحتل كامل الفورم والادوات ستبقى في مكانها المحدد حتى لو كبر الفورم
أما في حالتنا نحن لانريد تغيير حجم البانل الذي يحوي الادوات التي نريدها دائما في منتصف الفورم
والبانل هو فقط لكي لانكتب اكواد لكل اداة
دمت بخير ومحبا للخير


يبدو أنك في الخطوة الأخير بخصوص Anchor حددت الإتجاهاة الأربع، في حين أنني ذكرت ألغي


(07-10-18, 08:31 PM)rnmr كتب : من الخاصية Anchor ألغي كل الإتجاهات الأربعة


دمت بصحة وسلامة
الرد
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو
#5
اخي rnmr
صحيح انا لم اقم بالغاء الاتجاهات الاربعة وبعد الغاءها اصبحت مثل الكود الاول 
فعند التكبير قد لاتلحظ اختلاف المسافة اليمين واليسار والاعلى والاسفل
لكن قم بالتصغير حتى يلامس حد الفورم حد البانل ولاحظ المسافات واعطني رايك
انا استحدم نسخة 2008
بالمناسبة البانل موضوع في وسط الفورم تماما باستخدام ازرار التوسيط
الرد
تم الشكر بواسطة: rnmr
#6
(07-10-18, 08:23 PM)ابراهيم ايبو كتب :
السلام عليكم اخوتي الكرام
اولا لم اعرف في اي قسم اضع هذا الموضوع .. لكم حرية اختيار القسم المناسب (الاخوة المشرفون)
انشأت فورم ووضعت فيه Panel وفيه بعض الادوات لا على التعيين ثم قمت بتوسيط هذا الـ panel في الفورم  في حدث تغيير الحجم  وفق المعادلة المعروفة التالية :

كود :
Dim x As Integer = (Me.Width - panel1.Width) / 2
       Dim y As Integer = (Me.Height - panel1.Height) / 2
       panel1.Location = New Point(x, y)
ولاحظت عند التصغير ان الـ panel لايكون في المنتصف ثم قمت بالتعديل حتى تم الامر بشكل صحيح
 واردت ان تكون هذه المعلومة بين ايديكم لتستفيدوا منها وتكون صدقة جارية والكود المعدل على النحو التالي:

كود :
Dim x As Integer = (Me.Width - 16 - panel1.Width) / 2
       Dim y As Integer = (Me.Height - 36 - panel1.Height) / 2
       panel1.Location = New Point(x, y)
ارجو التجربة  وابداء الرأي والله المستعان .. دمتم بخير

(07-10-18, 09:07 PM)ابراهيم ايبو كتب :
اخي rnmr
صحيح انا لم اقم بالغاء الاتجاهات الاربعة وبعد الغاءها اصبحت مثل الكود الاول 
فعند التكبير قد لاتلحظ اختلاف المسافة اليمين واليسار والاعلى والاسفل
لكن قم بالتصغير حتى يلامس حد الفورم حد البانل ولاحظ المسافات واعطني رايك
انا استحدم نسخة 2008
بالمناسبة البانل موضوع في وسط الفورم تماما باستخدام ازرار التوسيط


جربت المرفق الذي من حضرتك

فلم أجد الفرق، أو قد لم أفهم قولك (حتى يلامس حد الفورم حد البانل)
الرد
تم الشكر بواسطة: ابراهيم ايبو
#7
اخي عندما تقوم بتكبير الفورم قد لاتلاحظ الفرق بين الفراغ اليمين واليسار والاعلى والاسفل
وكن عندما تصغر الفورم الى حد البانل من الاسفل واليمين لاحظ انه ليس في الوسط
الرد
تم الشكر بواسطة: rnmr , rnmr
#8
(07-10-18, 09:21 PM)ابراهيم ايبو كتب :
اخي عندما تقوم بتكبير الفورم قد لاتلاحظ الفرق بين الفراغ اليمين واليسار والاعلى والاسفل
وكن عندما تصغر الفورم الى حد البانل من الاسفل واليمين لاحظ انه ليس في الوسط


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

في حين انه ينبغي استخدام ClientSize مثل Me.ClientSize.Height

سعيد بالنقاش والتحاور الجميل مع حضرتك
الرد
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو
#9
سأجرب ذلك تسلم ياعالي

نعم ياغالي بهذا الكود سيكون كامل الفورم مع شريط العنوان وكونتور الفورم داخل في الحساب
وهكذا سيكون الكود لوضع اي كونترول في وسط الفورم على النحو التالي
كود :
Dim x As Integer = (Me.ClientSize.Width - panel1.Width) / 2
       Dim y As Integer = (Me.ClientSize.Height - panel1.Height) / 2
       panel1.Location = New Point(x, y)
وكوني لم اعرف الخاصية  ClientSize اجتهدت انطلاقا الخاصية size

تقبل حبي واحترامي لك ولعلمك ... زادك الله علما ونفع بك عباده
الرد
تم الشكر بواسطة: rnmr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة الفورم فى الخلف new_programer 1 48 11-12-18, 05:58 AM
آخر رد: rmnr
  ربط الداتا قريدفيو بكمبوبوكس في الفورم alsihran 4 105 30-11-18, 12:14 AM
آخر رد: mero5000
  اظهار الفورم في المقدمة Rabeea Qbaha 7 165 29-11-18, 03:15 AM
آخر رد: Rabeea Qbaha
  [VB.NET] ممكن كود لجعل حجم الفورم لايتغير sari 6 1,243 17-11-18, 02:57 AM
آخر رد: Samy_Amin
  يرجى المساعدة لحل مشكلة عند تشغيل نفس الفورم اكثر من مرة vb.net ahmadpal 5 166 04-11-18, 10:17 PM
آخر رد: ahmadpal
  رساله غير مفهومه عند فتح الفورم vb2010 2 89 04-11-18, 05:18 PM
آخر رد: vb2010
  يرجى المساعدة لحل مشكلة عند تشغيل نفس الفورم اكثر من مرة vb.net ahmadpal 0 70 26-10-18, 11:38 PM
آخر رد: ahmadpal
  [VB.NET] عرض الادوات LUTFIA 1 94 24-10-18, 07:39 AM
آخر رد: ابراهيم ايبو
  كيف يُمكن عدم الرجوع إلى الفورم الأول إذا كان الفورم الثاني مفوحاً ؟ Hazem1 2 133 07-10-18, 10:08 PM
آخر رد: Hazem1
Smile [VB.NET] تغيير شكل الفورم Mahmoud Nasser 7 546 30-09-18, 02:36 PM
آخر رد: mustafa husaieen

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


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