トップ回答者
TextBoxのAutoSize?

質問
回答
すべての返信
-
まず、AutoSizeはControl.AutoSizeです。確認まで。
AutoSizeは中身(Text)にあわせて自動リサイズするかというプロパティですが
たとえば、Labelはすべてを表示するの意味を含んでいます。
しかし、TextBoxはすべて表示する必要性が無いという概念なので、AutoSizeが不要なわけです。
#ただ基底Controlクラスプロパティなので、TextBoxではプロパティウィンドウやコードエディタでは見えない属性になっています。
#かつ既定値=Trueです。
というわけで、コードでAutoSizeをFalseに設定すれば高さを変更できます。
また、TextBoxを継承してAutoSize=Falseが既定のコントロールを作る方法もあります。 -
サンプルを書いておきます。
新規プロジェクトで下記を追加してビルドするとツールボックスに追加されますのでビルドした後でフォームに貼ってください。
Code SnippetImports System.ComponentModel
Public Class TextBoxEx
Inherits TextBox
<EditorBrowsable(EditorBrowsableState.Always), _
Browsable(True), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
Public Overrides Property AutoSize() As Boolean
Get
Return MyBase.AutoSize
End Get
Set(ByVal value As Boolean)
MyBase.AutoSize = value
End Set
End Property
End Class