要使C# WinForm中的Label垂直居中,可以使用以下方法:

  1. 使用TableLayoutPanel控件:将Label放置在一个TableLayoutPanel的单元格中,并将Label的Dock属性设置为Fill,然后将TableLayoutPanel的RowStyle设置为百分之百的大小,并将Alignment属性设置为MiddleCenter。
TableLayoutPanel tableLayoutPanel1 = new TableLayoutPanel();
Label label1 = new Label();

tableLayoutPanel1.RowStyles.Clear();
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
tableLayoutPanel1.Controls.Add(label1, 0, 0);
label1.Dock = DockStyle.Fill;
label1.TextAlign = ContentAlignment.MiddleCenter;
  1. 使用自定义控件:创建一个自定义控件,继承自Label,并重写OnPaint方法,在方法中使用Graphics的DrawString方法来绘制文本,并将字符串位置设置为控件的中心。
public class VerticalCenterLabel : Label
{
    protected override void OnPaint(PaintEventArgs e)
    {
        using (StringFormat format = new StringFormat())
        {
            format.LineAlignment = StringAlignment.Center;
            format.Alignment = StringAlignment.Center;
            e.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), ClientRectangle, format);
        }
    }
}

然后,在窗体中使用该自定义控件来代替标准的Label控件。

VerticalCenterLabel label1 = new VerticalCenterLabel();
label1.Text = "垂直居中";
label1.Dock = DockStyle.Fill;

通过上述方法,可以轻松实现C# WinForm中Label的垂直居中效果。

如何使c# winform中的label垂直居中

原文地址: https://www.cveoy.top/t/topic/jevS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录