Vb.net Winforms自动高度文本区

Vb.net Winforms自动高度文本区,vb.net,winforms,controls,Vb.net,Winforms,Controls,我有一个richtextarea,里面有一堆文本。我想以某种方式使它扩展到适合所有文本,而不显示滚动条。我希望宽度保持标准,高度扩大。有什么好办法吗?我计划每次循环并在其高度上添加一个像素。。然后检查滚动条是否可见。在vb.net中,如果不使用特定于windows api的方法,我找不到一种简单的方法来执行此操作。我将通过考虑SelectionStart属性来执行此操作。如果SelectionStart是x或x的倍数,那么我会增加我的身高 textBox.Multiline = true; pr

我有一个richtextarea,里面有一堆文本。我想以某种方式使它扩展到适合所有文本,而不显示滚动条。我希望宽度保持标准,高度扩大。有什么好办法吗?我计划每次循环并在其高度上添加一个像素。。然后检查滚动条是否可见。在vb.net中,如果不使用特定于windows api的方法,我找不到一种简单的方法来执行此操作。

我将通过考虑SelectionStart属性来执行此操作。如果SelectionStart是x或x的倍数,那么我会增加我的身高

textBox.Multiline = true;
private void textBox_TextChanged(object sender, EventArgs e)
        {
            if (textBox.SelectionStart % 20 == 0)
            {
                textBox.Height += 20;
            }
        }

这段代码相当于说,如果当前选定文本的索引是20(字符)的精确倍数,则将RichTextBox提高20像素。这听起来不像是一个非常稳定的解决方案。20可以由majestiq决定的数字代替。但是,答案的基本思想是让majestiq了解如何做到这一点。