WinForm 中如何设置文本行高?

Jinglecat 2007-09-11 10:45:46
WinForm 几个文本容器,如 Label TextBox RichTextBox 可以设置文本行高?

查了MSDN发现, Font.Height 表示字体行高,可惜是只读的

发现 windows写字板 中也不能设置行高,那么 RichTextBox 可否?

或者有其他解决方案?

Thx!
...全文
2138 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yulin70 2007-09-12
  • 打赏
  • 举报
回复
改变font属性 就可以把文本框变高一些
sadever 2007-09-12
  • 打赏
  • 举报
回复
好像是通过设置字体的字号来确定了,你把字体改大了,行高不就变大了?
Jinglecat 2007-09-12
  • 打赏
  • 举报
回复
真的没得办法迈?
Jinglecat 2007-09-12
  • 打赏
  • 举报
回复
好的,晚上回去尝试下
北京的雾霾天 2007-09-12
  • 打赏
  • 举报
回复
如果是使用Label,或任何一个继承于Control的控件,都可以重写OnPaint方法,使用参数里的e.Graphics.DrawString来绘制指定样式的字符串内容,或者使用TextRenderer.DrawText方法来绘制更为精确的内容,这两个方法都有坐标或字符串所在的区域,这样就可以方便的来调整行间距了。
zhchg6666 2007-09-12
  • 打赏
  • 举报
回复
关注 行间距
Jinglecat 2007-09-12
  • 打赏
  • 举报
回复
@hbxtlhx

是否重写 Label OnPaint 方法可以实现(事实上,我发现,Paint 事件定义在基类 Control 里面)?

需要调用某些 Windows API ?

google/baidu codeproject 都没有发现有用的信息,

不好实现,只有现考虑用多个 label 排列了,幸好目前的文本不是很多,

WinForm 未摸到门级别,没有现成扩展控件使用,只有留以后慢慢深究 ....

Thx :P
Jinglecat 2007-09-12
  • 打赏
  • 举报
回复
嗯,也许应该理解为,行间距吧!

就像 web 里面可以通过 css 样式设置 line-height 改变行与行之间的间隔,

或者象 MS Word 那样可以设置 “行距”,单倍行距、1.5倍行距....

但是不会影响字体本身的大小

比如对于多行的 TextBox,密密麻麻的排在一起,很不美观,

我也没有发现 RichTextBox 那个属性支持此需求



北京的雾霾天 2007-09-12
  • 打赏
  • 举报
回复
对于Label来说,它的文本是通过Paint事件的Graphics或TextRenderer来绘制的,所以这个调整的自由度最大,可以自由的来按自己的意愿绘制文本,而对于TextBox或RichTextBox来说可能要复杂的多了。
北京的雾霾天 2007-09-12
  • 打赏
  • 举报
回复
文本行高指的是字体的高,还是不管字体大小而单纯的设置一个行的高度,还是行间距?
Jinglecat 2007-09-11
  • 打赏
  • 举报
回复
@bigmingming(明明兄)

俺要的是如何设置多行文本的行高
bigmingming 2007-09-11
  • 打赏
  • 举报
回复
http://www.chenjiliang.com/Article/View.aspx?ArticleID=1403&TypeID=88

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧