Étiquette multiligne en C#

Muhammad Maisam Abbas 16 février 2024
  1. Créer une étiquette multiligne avec la propriété Label.AutoSize en C#
  2. Créer une étiquette multiligne avec la méthode Panel en C#
Étiquette multiligne en C#

Ce didacticiel présentera les méthodes pour créer une étiquette multiligne en C#.

Créer une étiquette multiligne avec la propriété Label.AutoSize en C#

La propriété Label.AutoSize spécifie si l’étiquette peut ajuster automatiquement sa taille pour s’adapter au texte affiché en C#. La propriété Label.AutoSize a une valeur booléenne et doit être définie sur true si nous voulons que notre étiquette se redimensionne automatiquement pour s’adapter au texte affiché et false si nous ne voulons pas que notre étiquette se redimensionne automatiquement pour s’adapter au texte affiché. On peut alors définir la taille maximale de l’étiquette avec la propriété Control.MaximumSize en C#. L’exemple de code suivant nous montre comment créer une étiquette multiligne avec la propriété Label.AutoSize en C#.

using System;
using System.Drawing;
using System.Windows.Forms;

namespace multi_line_label {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e) {
      string data = "This is some data that we want to display";
      label1.Text = data;
      label1.AutoSize = true;
      label1.MaximumSize = new Size(50, 0);
    }
  }
}

Production:

Étiquette multiligne C# 1

Dans le code ci-dessus, nous avons créé une étiquette multiligne avec les propriétés Label.AutoSize et Control.MaximumSize en C#.

Créer une étiquette multiligne avec la méthode Panel en C#

On peut également utiliser un champ Panel pour créer une étiquette multiligne en C#. Nous pouvons placer l’étiquette désirée à l’intérieur d’un panneau puis gérer l’événement ClientSizeChanged pour le panneau. L’événement ClientSizeChanged est appelé chaque fois que la taille d’un champ à l’intérieur du panneau change. On peut redimensionner l’étiquette avec la propriété Label.MaximumSize en C#. L’exemple de code suivant nous montre comment créer une étiquette multiligne avec la méthode Panel en C#.

using System;
using System.Drawing;
using System.Windows.Forms;

namespace multi_line_label {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e) {
      string data = "This is some data that we want to display";
      label1.Text = data;
      label1.AutoSize = true;
    }

    private void panel1_ClientSizeChanged(object senderObject, EventArgs eventArguments) {
      label1.MaximumSize =
          new Size((senderObject as Control).ClientSize.Width - label1.Left, 10000);
    }
  }
}

Production:

Étiquette multiligne C# 2

Nous avons créé une étiquette multiligne dans le code ci-dessus en plaçant l’étiquette à l’intérieur d’un panneau et en gérant l’événement ClientSizeChanged à l’intérieur du panneau en C#. Nous avons d’abord spécifié la propriété Label.AutoSize sur true et spécifié la taille maximale de l’étiquette à l’intérieur de l’événement ClientSizeChanged dans le panneau.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Csharp GUI