Winform Textbox CanGrow?

时间:2009-11-11 05:50:18

标签: vb.net winforms

我在Textbox控件上找不到CanGrow属性。这在一些其他控件中很常见,它的作用是扩展控件以编写更多数据。无论如何要在TextBox中获得此功能?

4 个答案:

答案 0 :(得分:0)

我不熟悉CanGrow。您是否正在寻找Anchor物业?

答案 1 :(得分:0)

  

无论如何要获得此功能   文本框?

嗯,是的,但是,您可能需要手动调查。 Graphic.MeasureString()函数可能是您正在寻找的,以便正确设置宽度。

请注意,MeasureSting可能在测量多行字符串方面存在问题。

答案 2 :(得分:0)

如果将锚属性设置为top,left,bottom,right,则控件将随着窗体调整大小而增长。

我认为更好的选择是使用对接。我通常设置一个面板布局,其中一个停靠在客户端,然后我将控件我想调整大小停靠在客户端的面板中,并将控件设置为停靠到客户端。

答案 3 :(得分:0)

好吧,我想出了这个:

Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox.TextChanged
        'check to see if textbox has text
        If (TextBox.TextLength > 0) Then
            'resize height of textbox by count of lines (plus add some padding)
            TextBox.ClientSize = New Size(TextBox.ClientSize.Width, Convert.ToInt32((TextBox.Lines.Length * TextBox.Font.Height) + (TextBox.Font.Height * 0.5)))
        Else
            'resize to one line height (plus padding)
            TextBox.ClientSize = New Size(TextBox.ClientSize.Width, Convert.ToInt32(TextBox.Font.Height + (TextBox.Font.Height * 0.5)))
        End If
End Sub

注意:它不适用于word-warp。