[C#][Windows Formsアプリ][TextBox] ScrollBarsプロパティで、テキストが見えるようにする

スポンサーリンク

はじめに

複数行のTextBoxに長い文章を入力すると、すべてを表示しきれないことがあります。
そのときに役立つのが ScrollBarsプロパティ です。
縦や横のスクロールバーを表示して、快適に文章を扱えるようにできます。

ScrollBarsプロパティとは?

ScrollBars プロパティは、TextBoxに表示するスクロールバーの種類を指定します。
利用できるのは System.Windows.Forms.ScrollBars 列挙体です。

  • None … スクロールバーを表示しない(既定値)
  • Horizontal … 横方向のスクロールバーを表示
  • Vertical … 縦方向のスクロールバーを表示
  • Both … 縦・横両方のスクロールバーを表示
補足:Multiline = true でなければスクロールバーは表示されません。

基本の使い方

デザイナーで設定する方法

  1. TextBoxをフォームに配置する
  2. プロパティウィンドウで Multiline = True に設定
  3. ScrollBarsVertical などに変更

コードで設定する方法

textBox1.Multiline = true;
textBox1.ScrollBars = ScrollBars.Both; // 縦・横スクロールバーを表示

実用例:メモ帳風の入力欄

using System;
using System.Windows.Forms;

namespace ScrollBarsSample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            // 複数行入力を有効化
            textBox1.Multiline = true;

            // 縦スクロールバーを表示
            textBox1.ScrollBars = ScrollBars.Vertical;

            // 長文を入れて確認
            textBox1.Text = "1行目\r\n2行目\r\n3行目\r\n...\r\n100行目";
        }
    }
}

この設定により、長文を入力しても縦スクロールで快適に閲覧できます。

WordWrapとの関係

  • WordWrap = true(既定)
    → 横スクロールバーは表示されず、長い行は自動的に折り返されます。
  • WordWrap = false
    → 折り返されず、必要に応じて横スクロールバーが表示されます。

注意点

  • スクロールバーを表示するには必ず Multiline = true が必要
  • 横スクロールは WordWrap = false のときだけ有効
  • スクロール位置を制御するには SelectionStartScrollToCaret() を活用できる

まとめ

  • ScrollBars は複数行TextBoxにスクロールバーを表示するプロパティ
  • 縦・横・両方から選択可能
  • WordWrap の設定と組み合わせて使うと便利

長文を扱う入力欄やログ表示欄では、ScrollBars を正しく設定しておくとユーザーの操作性が大きく向上します。

 

Please follow and like us:

コメント

タイトルとURLをコピーしました