はじめに
RichTextBoxでテキストが多くなったとき、スクロールの方法を決めるのが
ScrollBarsプロパティ です。
縦方向・横方向のスクロールバーを表示するかどうかを設定できます。
ScrollBarsプロパティとは?
ScrollBars プロパティは、RichTextBoxに表示するスクロールバーの種類を指定します。
列挙型 RichTextBoxScrollBars の値を設定して制御します。
主な設定値一覧
| 設定値 | 意味 |
|---|---|
None |
スクロールバーを表示しない |
Horizontal |
横スクロールバーを表示 |
Vertical |
縦スクロールバーを表示 |
Both |
縦・横両方のスクロールバーを表示 |
ForcedHorizontal |
常に横スクロールバーを表示 |
ForcedVertical |
常に縦スクロールバーを表示 |
ForcedBoth |
常に両方のスクロールバーを表示 |
💡 ポイント:
通常は
通常は
Vertical か Both を使うことが多いです。Forced* 系はテキスト量に関係なく常に表示します。
基本の使い方
コード例
// 縦スクロールバーを表示
richTextBox1.ScrollBars = RichTextBoxScrollBars.Vertical;
// 縦・横両方を表示
richTextBox1.ScrollBars = RichTextBoxScrollBars.Both;
// 常に両方を表示
richTextBox1.ScrollBars = RichTextBoxScrollBars.ForcedBoth;
デザイナーで設定する
- RichTextBoxを選択
- プロパティウィンドウの
ScrollBarsから種類を選択
実用例:ログビューア風の設定
using System;
using System.Windows.Forms;
namespace RichTextBoxScrollBarsSample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
richTextBox1.WordWrap = false; // 折り返し無効
richTextBox1.ScrollBars = RichTextBoxScrollBars.Both;
// ダミーテキスト
for (int i = 0; i < 30; i++)
{
richTextBox1.AppendText($"ログ行 {i + 1}: サンプルテキストが続きます...\r\n");
}
}
}
}
このように設定すると、縦横両方向のスクロールが可能になり、ログやソースコードのような長文でも快適に閲覧できます。
WordWrapプロパティとの関係
WordWrap = trueの場合 → 横スクロールバーは表示されないWordWrap = falseの場合 → 横スクロールバーが表示可能
richTextBox1.WordWrap = false;
richTextBox1.ScrollBars = RichTextBoxScrollBars.Both;
💬 補足:
横方向のスクロールを有効にしたいときは、必ず
折り返しが有効なままだと、どんな設定でも横スクロールは出ません。
横方向のスクロールを有効にしたいときは、必ず
WordWrap を無効にしてください。折り返しが有効なままだと、どんな設定でも横スクロールは出ません。
注意点
ScrollBarsの設定は、RichTextBox特有の列挙型を使うBothを設定しても、WordWrap = trueだと横スクロールは非表示になる- スクロール位置を自動で下まで移動させたい場合は
ScrollToCaret()を使う
まとめ
ScrollBarsはRichTextBoxのスクロール動作を決める重要なプロパティ- 用途に応じて
Vertical、Both、ForcedBothを使い分ける WordWrapとの連携に注意
Please follow and like us:

コメント