【问题标题】:How can I do float:right in Windows Form Application? [duplicate]如何在 Windows 窗体应用程序中执行 float:right? [复制]
【发布时间】:2015-03-27 10:30:51
【问题描述】:

我有一个显示用户名 onload 的 Windows 窗体。在表单的右侧有一个欢迎标签和用户名的链接标签

看起来像这样:

问题是当用户名太长时,它超出了表单的边界。我尝试将 RightToLeft 设置为 yes 但仍然无法正常工作,我还尝试将 Autosize 设置为 false 和 RightToLeft,它似乎适用于链接标签,但这次的问题是它与 Welcome 标签重叠,反之亦然,

无论用户名的长度如何,我应该如何设置标签和链接标签以从右到左调整。

【问题讨论】:

    标签: c# winforms windows-forms-designer


    【解决方案1】:

    只是不要使用单独的 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);
        }
    

    生产:

    【讨论】:

      【解决方案2】:

      我已经很长时间没有对 Windows 窗体做任何事情了,但我似乎记得 TableLayoutPanels 对这种事情非常棒。

      在设计人员中设置一个非常简单,但基本上你需要四列和两三行。

      行:

      • 只是一个缓冲区:空,5px 绝对高度
      • 内容:自动高度

      列:

      • 左边是什么:100% 宽度
      • “欢迎”标签:自动宽度
      • 名称标签:自动宽度
      • 缓冲区:10px 宽度

      显然这两个缓冲区都是可选的,您可能想要更改大小。但这就是我几年前所记得的,在大多数情况下“差不多”。

      我不知道是否有比这更好的方法,但这是完成它的一种非常简单的方法,一旦它就位,你可以用它做更多的布局。

      您也可以使用带有一些扩展坞的面板,但无论好坏,它的可扩展性都较差。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-28
        • 2022-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多