积极答复者
如何根据内容自动调整RichTextBox的大小?

问题
-
论坛帖子内容多样,有不同字体的文字、图片等,且每个帖子内容多少不一,显示高度不同。
winform采用RichTextBox显示帖子内容,固定宽度,自动换行。理想的效果是,RichTextBox根据帖子内容自动确定高度,既不留空白,也不显示垂直滚动条。
但是,目前既无法获取帖子内容高度,也无法获取是否出现滚动条(否则,可加大高度,直到滚动条消失)。
这个问题困扰了我很久了,各位高人,有什么好办法吗?
韩立学
- 已更改类型 Carl CaiModerator 2014年3月28日 1:49
- 已编辑 大海怪 2014年3月28日 6:34
- 已更改类型 大海怪 2014年3月28日 7:26
答案
-
Hi,你可以试一下先把WordWrap设置为False,把ScrollBars设置为None,然后在ContentsResized事件里更改RichTextBox的大小,如下所示:
RichTextBox1.WordWrap = False RichTextBox1.ScrollBars = RichTextBoxScrollBars.None
Private Sub ContentsResized(sender As Object, e As ContentsResizedEventArgs) Handles RichTextBox1.ContentsResized RichTextBox1.Size = e.NewRectangle.Size End Sub
- 已标记为答案 大海怪 2014年3月31日 0:15
全部回复
-
Hi,
你是开发的winform应用还是web应用?
如果是web应用的话, 我建议你去论坛有更多web开发人员参与的Web技术社区去寻求建议。
如果是winform应用,据我所知能够显示富文本的控件, 除了RichTextBox, 也就只有webbrowser了。
但是除了需要调节这个控件的高度来适应内容, 还需要调节winform的窗口大小, 从UI的用户体验来看, 我觉得你所提到的应用偏向于web应用。
Regards.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey. -
Hi,你可以试一下先把WordWrap设置为False,把ScrollBars设置为None,然后在ContentsResized事件里更改RichTextBox的大小,如下所示:
RichTextBox1.WordWrap = False RichTextBox1.ScrollBars = RichTextBoxScrollBars.None
Private Sub ContentsResized(sender As Object, e As ContentsResizedEventArgs) Handles RichTextBox1.ContentsResized RichTextBox1.Size = e.NewRectangle.Size End Sub
- 已标记为答案 大海怪 2014年3月31日 0:15