تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة الحجم الكبير للبرنامج ع الشاشة
#4
فيه حالتين للحصول علي ابعاد الشاشة

الحالة الأولي أنك تحسب WorkingArea
و الدالة التالية توضح كيفية حساب WorkingArea 

كود :
Public Function ScreenToWorkingRectangle() As System.Drawing.Rectangle
       Dim rect As System.Drawing.Rectangle = CType(Nothing, System.Drawing.Rectangle)
       Dim displayDevices As System.Windows.Forms.Screen() = System.Windows.Forms.Screen.AllScreens
       For i As Integer = 0 To displayDevices.Length - 1
           Dim currentDisplayDevice As System.Windows.Forms.Screen = displayDevices(i)
           rect = System.Drawing.Rectangle.Union(rect, currentDisplayDevice.WorkingArea)
       Next
       Return rect
   End Function


الحالة الثانية و هي أن تحسب ابعاد الشاشة كلها ٍScreenBounds
و الدالة التالية توضح كيف تحسب ذلك

كود :
Public Function ScreenToRectangle() As System.Drawing.Rectangle
       Dim rect As System.Drawing.Rectangle = CType(Nothing, System.Drawing.Rectangle)
       Dim displayDevices As System.Windows.Forms.Screen() = System.Windows.Forms.Screen.AllScreens
       For i As Integer = 0 To displayDevices.Length - 1
           Dim currentDisplayDevice As System.Windows.Forms.Screen = displayDevices(i)
           rect = System.Drawing.Rectangle.Union(rect, currentDisplayDevice.Bounds)
       Next
       Return rect
   End Function


الأن كيف تحسب ابعاد الفورم ليملأ WorkingArea مثلا
يجب أن تضع في الاعتبار ان حواف الفورم الخارجية سمكها غالبا قيمته تساوي 8

مثلا في الحدث Load الخاص بالفورم اكتب الكود ب الشكل التالي

كود :
 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim workingArea As Rectangle = ScreenToWorkingRectangle()
       Me.Location = New Point(workingArea.X - 8, workingArea.Y - 8)
       Me.Size = New Size(workingArea.Width + 16, workingArea.Height + 16)
   End Sub


أتمني تكون الفكرة  اصبحت أكثر وضوحا لك
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: مشكلة الحجم الكبير للبرنامج ع الشاشة - بواسطة silverlight - 19-04-15, 04:09 PM


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


يقوم بقرائة الموضوع: