C# 如何在Windows窗体应用程序中执行float:right?
我有一个显示用户名onload的windows窗体。在表单的右侧有一个欢迎标签和用户名的链接标签 看起来是这样的: 问题是当用户名太长时,它会超出表单的边界。我尝试将RightToLeft设置为yes,但仍然不起作用,我还尝试将Autosize设置为false和RightToLeft,这似乎对linklabel有效,但这次的问题是它与欢迎标签重叠,反之亦然 我应该如何设置标签和链接标签,使其无论用户名的长度如何,都能从右向左调整。我很久没有用Windows窗体做过任何事情了,但我似乎记得s在这方面做得很棒 在设计器中,设置一个是非常简单的,但实际上您需要四列和两到三行 行:C# 如何在Windows窗体应用程序中执行float:right?,c#,winforms,windows-forms-designer,C#,Winforms,Windows Forms Designer,我有一个显示用户名onload的windows窗体。在表单的右侧有一个欢迎标签和用户名的链接标签 看起来是这样的: 问题是当用户名太长时,它会超出表单的边界。我尝试将RightToLeft设置为yes,但仍然不起作用,我还尝试将Autosize设置为false和RightToLeft,这似乎对linklabel有效,但这次的问题是它与欢迎标签重叠,反之亦然 我应该如何设置标签和链接标签,使其无论用户名的长度如何,都能从右向左调整。我很久没有用Windows窗体做过任何事情了,但我似乎记得s在这
- 只是一个缓冲区:空,5倍绝对高度
- 内容:自动高度
- 无论左边是什么:100%宽度
- “欢迎”标签:自动宽度
- 名称标签:自动宽度
- 缓冲区:10px宽度
您也可以使用带有一些停靠点的面板,但无论是好是坏,它的可扩展性稍差。只是不要使用单独的标签控件来显示“欢迎”。LinkLabel控件允许您使用其LinkArea属性混合文本和超链接。因此,只需将其保留为单个控件,将其固定在顶部+右侧,AutoSize=false,TextAlign=TopRight,并使其足够宽以适合Llanfairpwlgwyngyll先生
public Form1() {
InitializeComponent();
string prefix = "Welcome ";
linkLabel1.Text = prefix + Environment.UserName;
linkLabel1.LinkArea = new LinkArea(prefix.Length, linkLabel1.Text.Length - prefix.Length);
}
产生: