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# 中的 Label.AutoSize
和 Control.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# 中处理面板内的 ClientSizeChanged
事件来创建了多行标签。我们首先将 Label.AutoSize
属性指定为 true
,然后在面板的 ClientSizeChanged
事件中指定标签的最大尺寸。
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