【问题标题】:How to fix this issue that some of the text of the label has been hidden by textbox?如何解决标签的某些文本已被文本框隐藏的问题?
【发布时间】:2012-12-11 01:27:45
【问题描述】:

标签的文本以编程方式编写:

public Form1()
{
    InitializeComponent();
    label.Text = data from database;
}

【问题讨论】:

  • 将文本框向右移动一点?
  • @MatthewDean,标签是 db base 所以它有不同的长度 :)
  • 类似:textBox.Location = label.Location + new Size(marginX, textBox.Location.Y);
  • 我的文本框移动到底部,我希望标签移动而不是文本框:)

标签: c# .net winforms textbox label


【解决方案1】:

您可以为每个控件设置Dock 属性。根据您的布局,您可以将它们中的每一个设置为DockStyle.Left,并将标签的AutoSize 属性设置为true。如果您不能按原样停靠它们,您可以将它们放在面板内并停靠在面板内。在面板内部时,您还可以利用对接的填充样式(这也可以在面板外部工作,但取决于布局中的其余控件,它可能会将它们搞砸。您可以在面板内部设置标签为DockStyle.Left,TextBox 为DockStyle.Fill(占用剩余空间)

【讨论】:

    【解决方案2】:

    设置标签的MaximumSize.Width 属性,使其不能与TextBox 重叠。如果您没有足够的垂直空间,则还要设置 MaximumSize.Height 属性。然后,您还应该考虑将 AutoEllipsis 设置为 True,以便用户清楚地看到文本被截断,工具提示会显示全文。

    确定MaximumSize 正确值的一种简单方法是暂时关闭AutoSize。将标签尺寸调整为不重叠的最大尺寸。将大小复制/粘贴到 AutoSize。或者把它关掉。

    【讨论】:

    • 还有其他方法可以自动将标签移动到左侧吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 2022-01-20
    • 2012-01-07
    相关资源
    最近更新 更多