标签文字包装
回答
参照Automatically Wrap Text in Label。它描述了如何创建自己的成长标签。
下面是从上述基准进行的完整来源:
using System;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
public class GrowLabel : Label {
private bool mGrowing;
public GrowLabel() {
this.AutoSize = false;
}
private void resizeLabel() {
if (mGrowing) return;
try {
mGrowing = true;
Size sz = new Size(this.Width, Int32.MaxValue);
sz = TextRenderer.MeasureText(this.Text, this.Font, sz, TextFormatFlags.WordBreak);
this.Height = sz.Height;
}
finally {
mGrowing = false;
}
}
protected override void OnTextChanged(EventArgs e) {
base.OnTextChanged(e);
resizeLabel();
}
protected override void OnFontChanged(EventArgs e) {
base.OnFontChanged(e);
resizeLabel();
}
protected override void OnSizeChanged(EventArgs e) {
base.OnSizeChanged(e);
resizeLabel();
}
}
我想添加一个新的属性到现有的标签,像AutoSize,就像IsWordWrap = true。有什么想法吗?所以我可以给 LabelName。IsWordWrap = TRUE; – Sharpeye500 2012-03-01 01:22:38
在我的情况TextRenderer.MeasureText给出了错误的大小。为了使所有东西都完美,你还需要重写OnPaint并绘制如下的文本:'TextRenderer.DrawText(e.Graphics,this.Text,this.Font,new Rectangle(0,0,this.Width,Int32.MaxValue),ForeColor, TextFormatFlags.WordBreak);' – user1561713 2016-11-09 14:20:16
讽刺的是,将其设置为false
关闭AutoSize
让我获得标签控件的尺寸大小它既垂直和水平,有效地允许发生自动换行。
只需将Label AutoSize属性设置为False。然后文本将被包裹,您可以手动重新调整控件的大小以显示文本。
如果你想要一些动态调整大小与字包装标签相结合,你可以做到以下几点:
- 把标签在面板内部
处理好
ClientSizeChanged event
的面板,使得 标签填补空间:private void Panel2_ClientSizeChanged(object sender, EventArgs e) { label1.MaximumSize = new Size((sender as Control).ClientSize.Width - label1.Left, 10000); }
套装
Auto-Size
的标签true
- 设置
Dock
的标签Fill
如果您打开Visual Studio中的Text
财产的下拉菜单中,你可以使用回车键分割线。这显然只适用于静态文本,除非您知道动态文本的最大尺寸。
谢谢!这正是我所寻找的(如何在设计师中分割线条)。 – ehambright 2016-02-25 18:59:26
堆更好的答案! – 2016-09-05 00:39:50
您可以使用TextBox
并将multiline
设置为true
和canEdit
至false
。
multiline和canEdit不是TextBox上的实际属性。 – 2016-09-21 15:17:34
- 1. 包装文字标签
- 2. P标签文字包装
- 3. TinyMCE中的标签内包装标签
- 4. 罐子中的包装标签文件
- 5. Javascript包装带标签bbcode的文本?
- 6. ASP.NET - Environment.NewLine包装L1标签
- 7. 在EXTJS中包装标签
- 8. 在Zend_Form_Element_Radio中包装标签
- 9. 包装长轴标签
- 10. PyGTK:动态标签包装
- 11. 包装智者标签
- 12. 数字标签可以包含包装图像的锚标签吗?
- 13. 防止TinyMCE在Wordpress的p标签中包装文字
- 14. 获取没有标签标签包装的国际化标签文本
- 15. 包装文字
- 16. 文字未包裹在标签标签中
- 17. 如何使用标签包装字符的字符串?
- 18. 在Wordpress中区分包装图像和包装文本节点的P标签的P标签?
- 19. 在内联菜单中的LI标签中的A标签中包装文本
- 20. 如何更改ggplot小标签(自定义小包装标签)
- 21. 如何在图片标签中包装html标签?
- 22. 如何在Beautifulsoup中的新标签下包装多个标签?
- 23. 以zend形式包装标签
- 24. 如何在WebForms中包装标签
- 25. 成长TableViewCell高度与包装标签
- 26. Google Chart Chart包装过滤器标签
- 27. 标签中的包装清单
- 28. 抑制v-html包装标签
- 29. SWT - 在复合内包装标签
- 30. 用BeautifulSoup包装多个标签
我不认为有,但自从我做了WinForms以来已经有一段时间了。 – 2012-03-01 00:58:37