如何在Windows窗体中居中对齐标题栏文本?

Ank*_*ush 5 c# winforms

我正在开发Windows窗体应用程序.我想将文本对齐到中心或对表格的标题栏右侧说.我该怎么做 ??

Jle*_*HeP 15

它可以使用自定义表单完成 - 您必须创建自己的标题栏.见V4Vendettas评论;

其他方法(链接) - 是为表单调整大小创建自己的处理程序并插入以下代码.它将从左侧文本大小添加适当数量的空格.但是,您必须添加form.Refresh()并在form.Load中调用该方法; 您的窗口也会在任务栏中显示"..."作为文本.

private void UpdateTextPosition()
{
    Graphics g = this.CreateGraphics();
    Double startingPoint = (this.Width / 2) - (g.MeasureString(this.Text.Trim(), this.Font).Width / 2);
    Double widthOfASpace = g.MeasureString(" ", this.Font).Width;
    String tmp = " ";
    Double tmpWidth = 0;

    while ((tmpWidth + widthOfASpace) < startingPoint)
    {
       tmp += " ";
       tmpWidth += widthOfASpace;
    }

    this.Text = tmp + this.Text.Trim();
}
Run Code Online (Sandbox Code Playgroud)

  • @Ankush如果这对您有用,请将此答案标记为已接受. (4认同)

l46*_*kok 0

如果它是控件内部的文本(如标签),则可以编辑名为“TextAlign”的属性以在 Windows 窗体设计器中完成所需的操作。

或者以编程方式,

Label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
Run Code Online (Sandbox Code Playgroud)

如果您正在谈论对齐标题栏的文本,则无法通过 Winforms 来做到这一点。你将不得不使用这样的东西:http ://www.codeproject.com/Articles/93959/WinForm-Extended