根据行数和字体大小调整RichTextBox的大小

我在VB.NET Winforms上有一个RichTextBox,我希望它以Liberation Mono 10pt字体显示(说)12行文本。我当然可以手动调整它的大小,但是我想根据字体大小和行数以编程方式调整它的大小。我苦苦挣扎的事情是如何计算单行的高度。我试过了:

RichTextBox.Height = RichTextBox.Font.Height

和:

RichTextBox.Height = RichTextBox.Font.GetHeight

但是似乎都没有给我我想要的确切尺寸。有没有一种方法可以测量RTB中线条的确切高度?

谢谢@Arman,我最终做到了这一点:

Public Function GetHeightOfFirstNumLines(ByVal RTB As RichTextBox, ByVal NumLines As Integer) As Integer
    Dim Position1 = RTB.GetPositionFromCharIndex(RTB.GetFirstCharIndexFromLine(0))
    Dim Position2 = RTB.GetPositionFromCharIndex(RTB.GetFirstCharIndexFromLine(NumLines))
    Return Position2.Y - Position1.Y
End Function

然后在Form.Load事件中,此代码:

Dim RTBSize As New Size(TextRenderer.MeasureText("M", MemoryRtb.Font, MemoryRtb.Size, TextFormatFlags.WordBreak))
    MemoryRtb.ClientSize = New Size(MemoryRtb.ClientSize.Width, (RTBSize.Height * 11) + 5)
塞尔格

线条的高度可以不同,因此您可以执行以下操作:

Private Shared Function GetHeightOfFirstLines(ByVal Rtb As RichTextBox, ByVal NumLines As Integer) As Integer
    Dim p1 = Rtb.GetPositionFromCharIndex(Rtb.GetFirstCharIndexFromLine(0))
    Dim p2 = Rtb.GetPositionFromCharIndex(Rtb.GetFirstCharIndexFromLine(NumLines))

    Return p2.Y - p1.Y
End Function

然后

RichTextBox1.ClientSize = New Size(RichTextBox1.ClientSize.Width, GetHeightOfFirstLines(RichTextBox1, 10))

但是,这要求您在文本框中已经有10行文本。如果不这样做,则可以获取第一行的高度,并假设以后的十行将具有相同的高度:

RichTextBox1.ClientSize = New Size(RichTextBox1.ClientSize.Width, GetHeightOfFirstLines(RichTextBox1, 1) * 10)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

字体大小调整

来自分类Dev

根据字体大小调整图像大小

来自分类Dev

根据Android Chrome上的字体大小调整图像大小

来自分类Dev

根据图像大小调整居中文本字体大小。怎么样?

来自分类Dev

在浏览器根据文本长度和字体大小调整大小后更改 div 的高度是一个好主意吗?

来自分类Dev

字体大小根据窗口大小重新调整大小

来自分类Dev

WPF将字体大小调整为窗口比例

来自分类Dev

自适应字体大小调整-适合容器

来自分类Dev

移动设备/ glyphicon上的引导选项卡和字体大小调整

来自分类Dev

使用PHP imageftbbox-将图像大小调整为字体大小输出?

来自分类Dev

iOS,使用带代码的大小调整类字体大小?

来自分类Dev

在标题中插入图像并将其大小调整为字体大小

来自分类Dev

调整UIPickerView字体大小

来自分类Dev

根据字符串长度调整字体大小

来自分类Dev

根据字符串长度调整字体大小

来自分类Dev

如何根据标签可用的高度调整UILabel字体大小

来自分类Dev

根据屏幕大小调整文本大小

来自分类Dev

根据屏幕大小调整文本大小

来自分类Dev

根据图像大小调整UIImageView的大小?

来自分类Dev

JTable根据ScrollPane的大小调整大小

来自分类Dev

根据视频大小调整div的大小

来自分类Dev

如何在Konsole / Yakuake中禁用Ctrl + Wheel字体大小调整

来自分类Dev

如何将背景大小调整为使用画布,谷歌地图创建的标记上的字体大小?

来自分类Dev

Tkinter按钮无法根据Mac上的字体大小正确调整大小

来自分类Dev

使用自动页边距和字体大小调整在A5纸上打印A4文档

来自分类Dev

调整div大小时调整字体大小

来自分类Dev

使用Cookie调整字体大小

来自分类Dev

调整字体大小以适合矩形

来自分类Dev

调整字体大小以适合矩形

Related 相关文章

  1. 1

    字体大小调整

  2. 2

    根据字体大小调整图像大小

  3. 3

    根据Android Chrome上的字体大小调整图像大小

  4. 4

    根据图像大小调整居中文本字体大小。怎么样?

  5. 5

    在浏览器根据文本长度和字体大小调整大小后更改 div 的高度是一个好主意吗?

  6. 6

    字体大小根据窗口大小重新调整大小

  7. 7

    WPF将字体大小调整为窗口比例

  8. 8

    自适应字体大小调整-适合容器

  9. 9

    移动设备/ glyphicon上的引导选项卡和字体大小调整

  10. 10

    使用PHP imageftbbox-将图像大小调整为字体大小输出?

  11. 11

    iOS,使用带代码的大小调整类字体大小?

  12. 12

    在标题中插入图像并将其大小调整为字体大小

  13. 13

    调整UIPickerView字体大小

  14. 14

    根据字符串长度调整字体大小

  15. 15

    根据字符串长度调整字体大小

  16. 16

    如何根据标签可用的高度调整UILabel字体大小

  17. 17

    根据屏幕大小调整文本大小

  18. 18

    根据屏幕大小调整文本大小

  19. 19

    根据图像大小调整UIImageView的大小?

  20. 20

    JTable根据ScrollPane的大小调整大小

  21. 21

    根据视频大小调整div的大小

  22. 22

    如何在Konsole / Yakuake中禁用Ctrl + Wheel字体大小调整

  23. 23

    如何将背景大小调整为使用画布,谷歌地图创建的标记上的字体大小?

  24. 24

    Tkinter按钮无法根据Mac上的字体大小正确调整大小

  25. 25

    使用自动页边距和字体大小调整在A5纸上打印A4文档

  26. 26

    调整div大小时调整字体大小

  27. 27

    使用Cookie调整字体大小

  28. 28

    调整字体大小以适合矩形

  29. 29

    调整字体大小以适合矩形

热门标签

归档