DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

複数行TextBox(またはRichTextBox)で水平スクロールバーが表示されない問題の解決法

複数行テキストボックスコントロール(MultilineプロパティがTrue)でスクロールバーを表示するには、ScrollBarsプロパティをVertical(垂直スクロールバーのみ表示)、Horizontal(水平スクロールバーのみ表示)、Both(垂直、水平両方のスクロールバーを表示)のいずれかにします。

ところがテキストボックスコントロールのWordWrapプロパティがTrueになっていると、ScrollBarsプロパティがHorizontalまたはBothになっている時でも水平スクロールバーは表示されません。よって、水平スクロールバーを表示させるためには、ScrollBarsプロパティをHorizontalまたはBothにすると同時に、WordWrapプロパティをFalseにしなければなりません。

VB.NET
コードを隠すコードを選択
'TextBox1での複数行入力を可能にする
TextBox1.Multiline = True
'垂直、水平両方のスクロールバーを表示
TextBox1.ScrollBars = ScrollBars.Both
'ワードラップを無効にする
TextBox1.WordWrap = False
C#
コードを隠すコードを選択
//TextBox1での複数行入力を可能にする
TextBox1.Multiline = true;
//垂直、水平両方のスクロールバーを表示
TextBox1.ScrollBars = ScrollBars.Both;
//ワードラップを無効にする
TextBox1.WordWrap = false;

WordWrapプロパティがTrueになっていると、文字列が自動的に右端で折り返されます。WordWrapプロパティはデフォルトでTrueです。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。