تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
استفسار بخصوص وضع ظهور الشاشة عند التشغيل
#1
السلام عليكم
عند تصميم شاشة على VB 2010 يمكن تحديد وضع ومكان ظهور الشاشة على سطح المكتب من خلال خاصية StartPosition

سؤالى :
بفرض وجود زر عمله توسعة عرض الشاشة .... أنا أريد مع توسعة عرض الشاشة أن تتمركز الشاشة فى وسط سطح المكتب سواء كانت موسعه أو مضيقة

أرجو الشرح التفصيلى للكود والأخذ فى الإعتبار أننى مبتدأ تماما فى البرمجة
الرد }}}}
تم الشكر بواسطة:
#2
بدايةً , اهلا بك في البرمجة ! Smile ..
بالنسبة لسؤالك . فحاولت ان اجد كود بسيط لكن لم اجد ابسط من هذا ..
كود :
'الحصول على عرض و طول الشاشة
        Dim width As Integer = My.Computer.Screen.Bounds.Width
        Dim height As Integer = My.Computer.Screen.Bounds.Height
        'الحصول على قيم x و y
        Dim x As Integer = (width \ 2) - (Me.Size.Width \ 2)
        Dim y As Integer = (height \ 2) - (Me.Size.Height \ 2)
        'تطبيق المكان الجديد
        Me.Location = New Point(x, y)
الكود يعتمد على ثلاث خطوات .. اولا يقوم بالحصول على عرض و طول الشاشة .
الخطوة الثانية هي الحصول على X,Y للمكان الجديد للفورم .. و هي بمعادلة رياضية بسيطة تكون الX نصف العرض للشاشة لكن مع طرح نصف عرض الفورم
و الواي كذلك نصف الارتفاع ناقصًا نصف ارتفاع الفورم
و الخطوة الاخيرة هي وضع المكان الجديد ..

اذا كان كودي صعبًا نوعًا ما فلعل الاخوة في المنتدى يساعدونك اكثر .. :")
بالتوفيق
الرد }}}}
تم الشكر بواسطة: سعود , ناجي إبراهيم , Sajad
#3
شكرا لاهتمامك يا عزيزى
دعنى اتفاعل مع الكود ومحاولة فهمه بالتفصيل واعود اليا باسئلة اخرى
اذا لم يزعجك
الرد }}}}
تم الشكر بواسطة:
#4
حسنًا خذ راحتك Big Grin
الرد }}}}
تم الشكر بواسطة: سعود
#5
السلام عليكم...

في الحدث ResizeEnd للنافذة ضع الكود التالي:

كود :
If Me.WindowState = FormWindowState.Normal Then
    Me.Left = (My.Computer.Screen.Bounds.Width - Me.Width) / 2
    Me.Top = (My.Computer.Screen.Bounds.Height - Me.Height) / 2
End If

سيتم وضع النافذة في وسط الشاشة كلما تم تغيير حجمها أو نقلها.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة: Ali Wisam , i_samy , Sajad
#6
هذا الكود سهل جدا
ولكن وجدت حدث إسمه فقط Resize حيث أن تغيير سيتم أكثر من مرة فى نفس الشاشة
ووضعت الكود به .... وسيعمل تماما

فهل ذلك صحيحا أم أن عمل الكود فى هذا الحدث محض الصدفة وقد يؤثر بالسلب فيما بعد على كفاءة تشغيل الشاشة ؟
الرد }}}}
تم الشكر بواسطة:
#7
السلام عليكم...

الفرق ليس كبيراً...

الحدث Resize يحدث أثناء تغيير حجم النافذة.

الحدث ResizeEnd يحدث بعد الانتهاء من تغيير حجم النافذة.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة: سعود , Sajad


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  بخصوص استيراد البيانات من الاكسيل salah mansour 1 20 منذ 1 ساعه مضت
آخر رد: khaled12345
  [سؤال] ما سبب ظهور هذه المشكلة ddemed 20 331 22-05-17, 04:36 PM
آخر رد: alma2
  مشكلة تفعيل ظهور checkbox في الفورم عامر الجبوري 4 89 21-05-17, 02:22 PM
آخر رد: alma2
  افكاركم بخصوص برنامج ادارة محلات بلاي ستيشن Basil Abdallah 3 79 18-05-17, 07:49 PM
آخر رد: Basil Abdallah
  مساعدة بخصوص تشفير ملف exe OakenShield 1 58 18-05-17, 11:27 AM
آخر رد: OakenShield
  [VB.NET] ارجو المساعدة بخصوص Chart vb.net2017 0theghost0 2 58 17-05-17, 05:14 PM
آخر رد: 0theghost0
  سؤال بخصوص التحكم بالمحرك عن طريق الحاسوب Basil Abdallah 2 66 16-05-17, 12:29 AM
آخر رد: alma2
  [نقاش] استفسار بخصوص النت فراموورك Net Framework Ratchinko 4 126 15-05-17, 01:48 AM
آخر رد: Ratchinko
  استفسار حوال التركيز في الادوات المتألق9 6 93 13-05-17, 07:05 PM
آخر رد: أسامة السالمي
  [سؤال] بخصوص ادخال التاريخ الى قاعدة البيانات Abdulaziz Hazazi 7 229 05-05-17, 03:13 PM
آخر رد: وسام احمد ابراهيم

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


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