تقييم الموضوع :
  • 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 ك ب / التحميلات : 9)
الرد
تم الشكر بواسطة: 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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يُمكن عدم الرجوع إلى الفورم الأول إذا كان الفورم الثاني مفوحاً ؟ Hazem1 2 77 07-10-18, 10:08 PM
آخر رد: Hazem1
Smile [VB.NET] تغيير شكل الفورم Mahmoud Nasser 7 459 30-09-18, 02:36 PM
آخر رد: mustafa husaieen
  [سؤال] طباعة الفورم بشكل كامل VB.Net Sameh Hamdy 6 1,413 27-09-18, 09:32 PM
آخر رد: Kaylos
  عرض الفورم في مكان محدد المتألق9 14 440 24-09-18, 12:36 PM
آخر رد: elgokr
  [VB.NET] شريط الادوات الذي يضم أداة الطباعة لا يظهر في الكريستال ريبورت فيوار تناسيم 1 122 19-08-18, 04:21 AM
آخر رد: عابر سبيل 2
  بطـــىء قليـــل عنـــد تنفيــــد الفورم wweecw 3 133 18-08-18, 06:53 PM
آخر رد: elgokr
  [VB.NET] ضبط حجم الفورم مع دقة الشاشة mos3ab 5 1,148 15-08-18, 08:44 PM
آخر رد: Ali Naser
  كود ضبط حجم الفورم 100% Marwan9990 3 229 11-08-18, 01:31 AM
آخر رد: elgokr
  كيف التخلي عن شكل الفورم العادي معاذ العامري 4 220 29-07-18, 10:41 AM
آخر رد: معاذ العامري
  طباعة ليبل من الفورم نور الهدى الهدى 10 400 26-07-18, 09:02 PM
آخر رد: نور الهدى الهدى

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


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