تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
عندي مشكلة بمقاسات الشاشات ماهو الحل المناسب
#1
اهلين حابة اشوف لي حل لمشكلة ال .net  لما اشتغل جهاز معين وانقل البروجكت او المشروع لجهاز اخر ينخرب عندي الديزاين في حل مناسب للمشكلة هاذي لو سمحتو تقدر تفيدوني ؟؟ ومشكورين
الرد }}}
تم الشكر بواسطة:
#2
اذا كانت المشكلة تكن في حجم الشاشة فقومي بتثبيت حجم العرض و الارتفاع للبرنامج .. عن طريق الخواص MaximumSize و MinimumSize
الرد }}}
تم الشكر بواسطة:
#3
(10-11-15, 07:54 PM)Mr. DotNet كتب : اذا كانت المشكلة تكن في حجم الشاشة فقومي بتثبيت حجم العرض و الارتفاع للبرنامج .. عن طريق الخواص MaximumSize  و MinimumSize

سوف تظهر مشكلة أخر اذا استخدمت هاتان الخاصيتين وهي عدم ثبات التصميمات إذا كان تستخدم اشكال على الفورم
الحل في الخاصية Anchor
الرد }}}
تم الشكر بواسطة:
#4
إقتباس :الحل في الخاصية Anchor
يا ريت حد يفيدنا عن خاصية  Anchor لأنها أصلا مش موجودة ضمن خصائص الفورم فى الدوت نت !!!!!!!!!
الرد }}}
تم الشكر بواسطة:
#5
الحل في انك تستخدم شئ مثل مقياس الرسم لأن الاشياء التي تتأثر ب تغيير أبعاد الشاشة هي الصور و Size و Font وما شابه من مثل هذه الخصائص وطبعا هذه الخواص تؤثر علي اسلوب ظهور الكونترول او الفورم علي شاشة الكمبيوتر بسبب تغير قيمة DPI الخاصة بشاشة الكمبيوتر

حاول يكون لديك مقياس رسم او Scale يكون عبارة عن معدل التغير في Height طول الشاشة علي جهازك و طول الشاشة عند Client و ايضا نفس الشئ بالنسبة للعرض Width و بشرط ان يتم ربط مقياس الرسم هذا بالأبعاد المختلفة لشاشات الكمبيوتر المختلفة .... أيضا ستكون في حاجة الي Delegate او Handler يتم إطلاقه عندما تتغير ابعاد الشاشة و بناء علي هذا تقوم بتغيير ابعاد كل شئ علي الفورم بضربها أو قسمتها علي Scale
الرد }}}
تم الشكر بواسطة:
#6
PHP كود :
Public Class Form1

    Private Sub Form1_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        
'FormScaleMinimize()
        FormScaleMaximize()

    End Sub

#Region "Form scale"
    Private Sub FormScaleMinimize()
        Me.AutoScaleMode = AutoScaleMode.Font
        For i = Me.Font.Size To 4 Step -1
            Me.Font = New Font(Me.Font.FontFamily, i, Me.Font.Style)
            If Me.Width < Screen.PrimaryScreen.WorkingArea.Width And Me.Height < Screen.PrimaryScreen.WorkingArea.Height Then
                Exit For
            End If
        Next
        Array.ForEach(GetAllControls(Me).ToArray, Sub(ctrl As Control) ctrl.Font = Me.Font)
        If Me.Right > Screen.PrimaryScreen.WorkingArea.Width Or Me.Bottom > Screen.PrimaryScreen.WorkingArea.Height Then
            Me.Location = New Point(0, 0)
        End If
    End Sub
    Private Sub FormScaleMaximize()
        Me.AutoScaleMode = AutoScaleMode.Font
        For i = 4 To 100
            Me.Font = New Font(Me.Font.FontFamily, i, Me.Font.Style)
            If Me.Width > Screen.PrimaryScreen.WorkingArea.Width Or Me.Height > Screen.PrimaryScreen.WorkingArea.Height Then
                Me.Font = New Font(Me.Font.FontFamily, i - 1, Me.Font.Style)
                Exit For
            End If
        Next
        Array.ForEach(GetAllControls(Me).ToArray, Sub(ctrl As Control) ctrl.Font = Me.Font)
        If Me.Right > Screen.PrimaryScreen.WorkingArea.Width Or Me.Bottom > Screen.PrimaryScreen.WorkingArea.Height Then
            Me.Location = New Point(0, 0)
        End If
    End Sub
    Private Function GetAllControls(ByVal control As Control) As IEnumerable(Of Control)
        Dim controls = control.Controls.Cast(Of Control)()
        Return controls.SelectMany(Function(ctrl) GetAllControls(ctrl)).Concat(controls)
    End Function
#End Region



End Class 
الرد }}}
تم الشكر بواسطة:
#7

.zip   ResizeControls تكبير البرنامج على حسب كل الشاشات.zip (الحجم : 84.96 ك ب / التحميلات : 82)
الرد }}}
تم الشكر بواسطة:



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


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