我有一个显示用户名onload的Windows窗体。在表单的右侧有一个欢迎的标签和用户名的链接标签
看起来像这样:
问题是当用户名太长时,它超出了表单的边框。我尝试将RightToLeft设置为yes但仍然无效,我也尝试将Autosize设置为false和RightToLeft,它似乎适用于linklabel但这次问题是它与Welcome标签重叠或反之亦然,
无论用户名的长度如何,我应该如何设置标签和链接标签以从右到左进行调整。
答案 0 :(得分:4)
只是不要使用单独的Label控件来显示“欢迎”。 LinkLabel控件允许您将文本和超链接与其LinkArea属性混合。所以只需保持一个控件,将其固定在Top + Right,AutoSize = false,TextAlign = TopRight,并使其宽度足以适合Llanfairpwllgwyngyll先生。
public Form1() {
InitializeComponent();
string prefix = "Welcome ";
linkLabel1.Text = prefix + Environment.UserName;
linkLabel1.LinkArea = new LinkArea(prefix.Length, linkLabel1.Text.Length - prefix.Length);
}
产地:
答案 1 :(得分:0)
这是很长时间,因为我对Windows Forms做了任何事情,但我似乎记得TableLayoutPanel
对于这种事情很棒。
设计师可以非常直接地设置一个,但基本上你需要四列和两三行。
行:
列:
显然两个缓冲区都是可选的,您可能想要更改大小。但这就是我几年前记得的关于正确"在大多数情况下。
我不知道是否有比这更好的方法,但这是完成它的一种非常简单的方法,并且你可以用它做更多的布局一旦它的布局到位。
你也可以使用带有一些底座的面板,但这种面板的可扩展性有所提高,无论好坏。