C# 中的多行标签

  1. 使用 C# 中的 Label.AutoSize 属性创建多行标签
  2. 使用 C# 中的 Panel 方法创建多行标签

本教程将介绍在 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 事件中指定标签的最大尺寸。

相关文章 - Csharp GUI

  • C# 中的消息框
  • 在 C# 中的文本框中仅接受数字