【问题标题】:How to align a part of a label to the right of a group box? WinForm C#如何将标签的一部分对齐到组框的右侧? WinForm C#
【发布时间】:2019-07-03 20:51:47
【问题描述】:

我正在开发一个显示从 SQL 服务器中提取的数据行的应用程序。尝试显示信息时,我想将数据的描述和数据本身放在同一个标​​签中,但数据部分与标签所在的组框右对齐。这样数据就可以轻松读取一眼。

这看起来如何的一个例子是:

Fav Food:       Pizza
Fav Color:      Blue
Fav Program:    Visual Studio

这就是我希望标签在组框内的样子,最长的数据距离组框右侧几个像素。

xFavFoodLabel.Text = "Fav Food: ".PadRight(50 - "Fav Food: ".Length) + favfood;
xFavColorLabel.Text = "Fav Color: ".PadRight(50 - "Fav Color: ".Length) + favcolor;
xFavProgramLabel.Text = "Fav Program: ".PadRight(50 - "Fav Program: ".Length) + favprogram;

我希望它像上面的示例一样显示文本,但文本是交错的,看起来不正确。有什么想法吗?

【问题讨论】:

    标签: c# label alignment


    【解决方案1】:

    您选择的字体很重要。

    您假设每个字符占用相同数量的水平空间。虽然对于 Monospaced font 这样的 Courier 是正确的,但它不适用于比例字体。您可以将字体设置为Courier,看看是否有什么不同。

    对于表格布局,使用TableLayoutPanel 来排列标签更容易。

    定义2列,将描述标签和值标签放在单独的列中。然后,您甚至可以为每个标签设置不同的对齐方式,例如右对齐描述标签和左对齐值标签。

    【讨论】:

    • 我在其他地方看到过这个实现,但我想做的是在同一个标​​签中显示数据的描述和数据本身。所以我只想对齐标签的一部分,而不是整个标签。
    • 是不是字体选择造成的?
    猜你喜欢
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多