المشاركات : 66
المواضيع 32
الإنتساب : Sep 2017
السمعة :
0
الشكر: 47
تم شكره 8 مرات في 8 مشاركات
غيرت فورم وخليت size 1024; 812
Maximized فى فورم بقى ملىء الشاشه وفورم بياخد نص الشاشه ومش عارف ايه المشكله بالظبط
هل فى مقاسات او اعدادات معينه تشتغل على كل الشاشات
المشاركات : 1,486
المواضيع 101
الإنتساب : Sep 2012
السمعة :
127
الشكر: 67
تم شكره 6159 مرات في 1035 مشاركات
ممكن تأخذ Screenhot للقورم و ترفع الصورة ختي نفهم المشكلة أولا
لأنه احيانا استخدام فونت مناسب قد يحل المشكلة
وهل يحدث معك ان الكونترول علي الفورم حجمها بيكبر عند تكبيير الفورم أم لا
Retired
المشاركات : 1,554
المواضيع 14
الإنتساب : Apr 2013
السمعة :
253
الشكر: 3504
تم شكره 4879 مرات في 1244 مشاركات
المشكلة هذي وقعت فيها من قبل وحليتها بطريقة اشوفها مناسبة بالنسبة لي :
الخطوة الأولى : عند تشغيل البرنامج تاخذ اعدادات الشاشة لنفرض مثلاً (1092,780) ونخزنها في متغير .
الخطوة الثانية : تغير اعدادات الشاشة للاعدادات اللي صممت عليها برنامجك .
الخطوة الثالثة : عند إغلاق البرنامج والخروج منه ترجع اعدادات الشاشة من المتغير في الخطوة الأولى .
المشاركات : 157
المواضيع 26
الإنتساب : Apr 2013
السمعة :
27
الشكر: 138
تم شكره 1812 مرات في 62 مشاركات
بلغة VB.net
حمل الكلاس التالي وفك الضغط عنه
https://drive.google.com/open?id=0B7CB0Y...nQ0ZklOalU
قم بادراج الكلاس في مشروعك كالتالي
من Solution Explorer اضغط كلك يمين على اسم المشروع ثم اختر Add ومنها Existing Item ثم حدد مسار الكلاس
افتح الفورم المطلوب عمل التحجيم فيه وفي منطقة المتغيرات العامة اكتب التالي
PHP كود :
Dim MyResizer As New Resizer
وفي حدث Form_Load اكتب التالي
PHP كود :
[font=Helvetica, Arial, sans-serif]MyResizer.FindAllControls(Me)[/font] [font=Helvetica, Arial, sans-serif]وفي حدث Form_Resize اكتب التالي[/font] [font=Helvetica, Arial, sans-serif]MyResizer.ResizeAllControls(Me)[/font]
المشاركات : 575
المواضيع 116
الإنتساب : Feb 2014
السمعة :
28
الشكر: 377
تم شكره 440 مرات في 205 مشاركات
(08-10-17, 04:53 PM)أحمد النجار كتب : بلغة VB.net
حمل الكلاس التالي وفك الضغط عنه
https://drive.google.com/open?id=0B7CB0Y...nQ0ZklOalU
قم بادراج الكلاس في مشروعك كالتالي
من Solution Explorer اضغط كلك يمين على اسم المشروع ثم اختر Add ومنها Existing Item ثم حدد مسار الكلاس
افتح الفورم المطلوب عمل التحجيم فيه وفي منطقة المتغيرات العامة اكتب التالي
PHP كود :
Dim MyResizer As New Resizer
وفي حدث Form_Load اكتب التالي
PHP كود :
[font=Helvetica, Arial, sans-serif]MyResizer.FindAllControls(Me)[/font] [font=Helvetica, Arial, sans-serif]وفي حدث Form_Resize اكتب التالي[/font] [font=Helvetica, Arial, sans-serif]MyResizer.ResizeAllControls(Me)[/font]
جميل اخي الله يحفظك
المشاركات : 356
المواضيع 76
الإنتساب : Jul 2023
السمعة :
70
الشكر: 261
تم شكره 332 مرات في 219 مشاركات
(08-10-17, 04:53 PM)أحمد النجار كتب : بلغة VB.net
حمل الكلاس التالي وفك الضغط عنه
https://drive.google.com/open?id=0B7CB0Y...nQ0ZklOalU
قم بادراج الكلاس في مشروعك كالتالي
من Solution Explorer اضغط كلك يمين على اسم المشروع ثم اختر Add ومنها Existing Item ثم حدد مسار الكلاس
افتح الفورم المطلوب عمل التحجيم فيه وفي منطقة المتغيرات العامة اكتب التالي
PHP كود :
Dim MyResizer As New Resizer
وفي حدث Form_Load اكتب التالي
PHP كود :
[font=Helvetica, Arial, sans-serif]MyResizer.FindAllControls(Me)[/font] [font=Helvetica, Arial, sans-serif]وفي حدث Form_Resize اكتب التالي[/font] [font=Helvetica, Arial, sans-serif]MyResizer.ResizeAllControls(Me)[/font]
من لديه الكلاس او يعرف فكرته لاني دخلت الرابط و ظهرت رسالة طلب اذن بالدخول؟!!
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
المشاركات : 1,262
المواضيع 16
الإنتساب : May 2016
السمعة :
291
الشكر: 801
تم شكره 2223 مرات في 1168 مشاركات
أظن أنه الكود التالي :
كود النافذة هو :
كود :
Public Class Form1
Dim R As New ResizeControls()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ResizeControls.SubResize(Me, 100, 100)
Me.StartPosition = FormStartPosition.CenterScreen
Me.CenterToScreen()
Me.WindowState = FormWindowState.Maximized
'DataGridView1.Rows.Add(6)
End Sub
Private Sub Form1_HandleCreated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.HandleCreated
R.Container = Me
End Sub
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
Me.StartPosition = FormStartPosition.CenterScreen
R.ResizeControls()
End Sub
End Class
كود الكلاس هو :
كود :
' هذا الكود يكتب تحت كلاس الفورم أو في مودل جديد
' ==================================================
' ==================================================
Public Class ResizeControls
Dim RatioTable As New Hashtable
Private WindowHeight As Single
Private WindowWidth As Single
Private HeightRatio As Single
Private WidthRatio As Single
Private _Container As New Control
Private Shared m_FormWidth As Long 'Original form width.
Private Shared m_FormHeight As Long
Public Property Container() As Control
Get
Return _Container
End Get
Set(ByVal Ctrl As Control)
_Container = Ctrl
FullRatioTable()
End Set
End Property
Private Structure SizeRatio
Dim TopRatio As Single
Dim LeftRatio As Single
Dim HeightRatio As Single
Dim WidthRatio As Single
End Structure
Private Sub FullRatioTable()
WindowHeight = _Container.Height
WindowWidth = _Container.Width
RatioTable = New Hashtable
AddChildrenToTable(_Container)
End Sub
Private Sub AddChildrenToTable(ByRef ChildContainer As Control)
Dim R As New SizeRatio
For Each C As Control In ChildContainer.Controls
With C
R.TopRatio = CSng(.Top / WindowHeight)
R.LeftRatio = CSng(.Left / WindowWidth)
R.HeightRatio = CSng(.Height / WindowHeight)
R.WidthRatio = CSng(.Width / WindowWidth)
RatioTable(.Name) = R
If .HasChildren Then
AddChildrenToTable(C)
End If
End With
Next
End Sub
Public Sub ResizeControls()
HeightRatio = CSng(_Container.Height / WindowHeight)
WidthRatio = CSng(_Container.Width / WindowWidth)
WindowHeight = _Container.Height
WindowWidth = _Container.Width
ResizeChildren(_Container)
End Sub
Private Sub ResizeChildren(ByRef ChildContainer As Control)
Dim R As New SizeRatio
For Each C As Control In ChildContainer.Controls
With C
R = CType(RatioTable(.Name), SizeRatio)
.Top = CInt(WindowHeight * R.TopRatio)
.Left = CInt(WindowWidth * R.LeftRatio)
.Height = CInt(WindowHeight * R.HeightRatio)
.Width = CInt(WindowWidth * R.WidthRatio)
If .HasChildren Then
ResizeChildren(C)
End If
End With
Select Case True
Case TypeOf C Is ListBox
Dim L As New ListBox
L = CType(C, ListBox)
L.IntegralHeight = False
End Select
ResizeControlFont(C, WidthRatio, HeightRatio)
Next
End Sub
Public Shared Sub SubResize(ByVal F As Form, ByVal percentW As Single, ByVal percentH As Single)
Dim FormHeight As Long
Dim FormWidth As Long
Dim HeightChange As Single, WidthChange As Single
FormHeight = Int((Screen.PrimaryScreen.WorkingArea.Height) * (percentH / 100))
FormWidth = Int((Screen.PrimaryScreen.WorkingArea.Width) * (percentW / 100))
With F
.Height = FormHeight
.Width = FormWidth
HeightChange = .ClientSize.Height / m_FormHeight
WidthChange = .ClientSize.Width / m_FormWidth
End With
End Sub
Private Sub ResizeControlFont(ByRef Ctrl As Control, ByVal RatioW As Single, ByVal RatioH As Single)
Dim FSize As Single = Ctrl.Font.Size
Dim FStyle As FontStyle = Ctrl.Font.Style
Dim FNome As String = Ctrl.Font.Name
Dim NewSize As Single = FSize
NewSize = CSng(FSize * Math.Sqrt(RatioW * RatioH))
Dim NFont As New Font(FNome, CSng(NewSize), FStyle)
Ctrl.Font = NFont
End Sub
End Class
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
|