首页 文章

如何使用单词Wrap功能在C#4.0中动态设置标签框的文本?

提问于
浏览
3

在我的C#4.0基于Windows窗体的应用程序中,我有一个标签框 . 现在我想动态设置标签框的文本 . 我的文本看起来像段落 . 所以,每当我显示我的文本时,只显示部分文本在一行中的形式 . 所以,我想在文本到达表格右端时将文本换行到下一行...

我是怎么做的 . 请指导我摆脱这个问题......

3 回答

  • 1

    您需要做的就是将标签控件的AutoSize property设置为False . 您可以在设计器中通过“属性”窗口或通过代码执行此操作: myLabel.AutoSize = false

    默认情况下,在设计器中添加控件时会打开它(尽管在通过代码实例化控件时默认值为false) . 启用此属性后,控件会尝试自动调整其宽度(而不是其高度!)以显示其全部内容 . 这不可能将整个内容整合到屏幕上的一行中 .

    通过关闭此属性,您可以手动调整控件的大小以适应您的文本 .

    其他一切都是自动处理的 . 当文本到达控件边框的边缘时,文本将自动换行到新行 . 例如:

    The asker's original question, displayed on a label control with AutoSize = false.

    如果您不想手动设置标签控件的大小,则可以利用DockAnchor属性,这些属性会自动将控件的大小调整为其父容器 . 例如,如果您希望标签填充您放置在其中的整个表单或面板,这很方便 .

  • 5

    确保设置 label.AutoSize = true; 并为标签设置固定 . 它将自动为您自动换行:

    label.MaximumSize = new Size(100, 0);
    

    这是我所知道的最简单的解决方案 . 只是测试它,它的工作原理 .

  • 3

    在Label的属性中,取消设置 AutoSize 属性(设置为False),然后根据需要锚定Label . 这应该具有您正在寻找的效果 .

相关问题