منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشروع تكبير حجم الخط عند جعل الفورم max في سي شارب - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم امثلة ومشاريع VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=188)
+--- الموضوع : مشروع تكبير حجم الخط عند جعل الفورم max في سي شارب (/showthread.php?tid=48948)



مشروع تكبير حجم الخط عند جعل الفورم max في سي شارب - العتيق - 02-06-24

كل ما عليك هو استخدام الشرح التالي 

PHP كود :
using System;
using System.Drawing;
using System.Windows.Forms;

namespace 
WindowsFormsApp
{
 
   public partial class Form1 Form
    
{
 
       // حفظ حجم الخط الأصلي
 
       private float originalFontSize;

 
       public Form1()
 
       {
 
           InitializeComponent();
 
           // حفظ حجم الخط الأصلي للفورم
 
           originalFontSize this.Font.Size;
 
           // ربط الحدث Resize
 
           this.Resize += new EventHandler(this.Form1_Resize);
 
       }

 
       private void Form1_Resize(object senderEventArgs e)
 
       {
 
           // إذا كان الفورم في حالة Maximize
 
           if (this.WindowState == FormWindowState.Maximized)
 
           {
 
               // تكبير حجم الخط لكل عناصر التحكم داخل الفورم
 
               ResizeFonts(this.Controls1.5f); // تكبير حجم الخط بنسبة 50%
 
           }
 
           else
            
{
 
               // إعادة حجم الخط الأصلي لكل عناصر التحكم داخل الفورم
 
               ResizeFonts(this.Controls1.0f); // إعادة حجم الخط إلى حجمه الأصلي
 
           }
 
       }

 
       private void ResizeFonts(Control.ControlCollection controlsfloat scaleFactor)
 
       {
 
           foreach (Control control in controls)
 
           {
 
               // تعديل حجم الخط
 
               control.Font = new Font(control.Font.FontFamilyoriginalFontSize scaleFactorcontrol.Font.Style);

 
               // إذا كان عنصر التحكم يحتوي على عناصر تحكم أخرى (مثل Panel أو GroupBox)
 
               if (control.Controls.Count 0)
 
               {
 
                   ResizeFonts(control.ControlsscaleFactor);
 
               }
 
           }
 
       }
 
   }