0

我有一个 winforms RichTextBox 和 TextBox(两者都尝试)。当我输入文本时,我希望该框垂直变大(或垂直变小),以便所有文本都可见。

我在 RichTextBox TextChanged 事件中使用以下代码:

RTB.Height = RTB.GetPreferredSize(New Size(RTB.Width, 0)).Height

此代码在大多数情况下都有效,除了一个 - 当您输入一个大于框宽度的单词(不带空格)时。有任何想法吗?

谢谢。

4

2 回答 2

1

已经在 Stackoverflow 上找到了以下答案!只需要更好地搜索...

Private Sub rtb_ContentsResized(ByVal sender As Object, ByVal e As System.Windows.Forms.ContentsResizedEventArgs) Handles txtQuestion.ContentsResized
    Dim h = e.NewRectangle.Height, w = e.NewRectangle.Width
    h = Math.Max(h, sender.Font.Height)
    h = Math.Min(h, Me.ClientSize.Height - 10 - sender.Top)
    h += sender.Height - sender.ClientSize.Height + 1
    sender.Height = h
End Sub

在 RichTextBox 控件中测量字符串

于 2013-04-04T11:26:03.013 回答
0

尝试使用 RTB 最小和最大尺寸属性。

听起来像设置最大宽度可能会解决您的问题。

于 2013-04-02T18:10:57.903 回答