C# 中的多行標籤

Muhammad Maisam Abbas 2023年1月30日 2021年4月29日
  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