C# 中的多行标签

Muhammad Maisam Abbas 2024年2月16日
  1. 使用 C# 中的 Label.AutoSize 属性创建多行标签
  2. 使用 C# 中的 Panel 方法创建多行标签
C# 中的多行标签

本教程将介绍在 C# 中创建多行标签的方法。

使用 C# 中的 Label.AutoSize 属性创建多行标签

Label.AutoSize 属性指定标签是否可以自动调整其大小以适合 C# 中显示的文本。Label.AutoSize 属性具有布尔值,如果我们希望我们的标签自动调整大小以适合显示的文本,则必须将其设置为 true;如果我们不想让我们的标签自动调整大小,则必须将其设置为 false 以适合正在显示的文本。然后,我们可以使用 C# 中的 Control.MaximumSize 属性设置标签的最大尺寸。下面的代码示例向我们展示了如何使用 C# 中的 Label.AutoSize 属性创建多行标签。

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);
    }
  }
}

输出:

C# 多行标签 1

在上面的代码中,我们使用 C# 中的 Label.AutoSizeControl.MaximumSize 属性创建了一个多行标签。

使用 C# 中的 Panel 方法创建多行标签

我们还可以使用 Panel 控件在 C# 中创建多行标签。我们可以在面板中放置所需的标签,然后为面板处理 ClientSizeChanged 事件。每当面板内部控件的大小发生更改时,都会调用 ClientSizeChanged 事件。我们可以使用 C# 中的 Label.MaximumSize 属性来调整标签的大小。以下代码示例向我们展示了如何使用 C# 中的 Panel 方法创建多行标签。

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);
    }
  }
}

输出:

C# 多行标签 2

我们在上述代码中通过将标签放置在面板内并在 C# 中处理面板内的 ClientSizeChanged 事件来创建了多行标签。我们首先将 Label.AutoSize 属性指定为 true,然后在面板的 ClientSizeChanged 事件中指定标签的最大尺寸。

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

相关文章 - Csharp GUI