Çözüldü C# form boyutuna göre Label'ın büyüyüp küçülmesi

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

theen

Hectopat
Katılım
17 Mayıs 2020
Mesajlar
81
Çözümler
1
Merhaba,
Resimde görünen formdaki Label'lerin form boyutu büyütülgüğünde fontunun büyümesini istiyorum.
Nasıl yapabilirim?
 

Dosya Ekleri

  • resim_2022-03-13_161245.png
    resim_2022-03-13_161245.png
    47,5 KB · Görüntüleme: 93
Çözüm
Her bir Label ögesini TableLayoutPanel satırları içine yerleştirdiğini varsayıyorum.

Formun SizeChanged etkinliğinde bu kodu kullanarak boyutlarını ayarlayabilirsin.

C#:
private void Form1_SizeChanged(object sender, EventArgs e)
        {
            SizeF xSizeF = TextRenderer.MeasureText(label1.Text, label1.Font);
            float xSize = Math.Min(label1.Width / xSizeF.Width, label1.Height / xSizeF.Height);

            SizeF ySizeF = TextRenderer.MeasureText(label2.Text, label2.Font);
            float ySize = Math.Min(label2.Width / ySizeF.Width, label2.Height / ySizeF.Height);

            label1.Font = new Font(label1.Font.Name, xSize * label1.Font.Size);
            label2.Font = new Font(label2.Font.Name, ySize * label2.Font.Size);
        }
Her bir Label ögesini TableLayoutPanel satırları içine yerleştirdiğini varsayıyorum.

Formun SizeChanged etkinliğinde bu kodu kullanarak boyutlarını ayarlayabilirsin.

C#:
private void Form1_SizeChanged(object sender, EventArgs e)
        {
            SizeF xSizeF = TextRenderer.MeasureText(label1.Text, label1.Font);
            float xSize = Math.Min(label1.Width / xSizeF.Width, label1.Height / xSizeF.Height);

            SizeF ySizeF = TextRenderer.MeasureText(label2.Text, label2.Font);
            float ySize = Math.Min(label2.Width / ySizeF.Width, label2.Height / ySizeF.Height);

            label1.Font = new Font(label1.Font.Name, xSize * label1.Font.Size);
            label2.Font = new Font(label2.Font.Name, ySize * label2.Font.Size);
        }
 
Son düzenleme:
Çözüm

Geri
Yukarı