RichTextBox

空から作成したプロジェクトに RichTextBox を貼り付けます。
KeyWord を検索して、色やフォントを設定します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの作成

  1. 空から作成したプロジェクトに RichTextBox を貼り付けます。
    Windows8.1 の発売に先立ち、2013/07/24 にダウンロードした次の環境で開発します。
     ※Windows8.1 評価版
     ※Microsoft Visual Studio Professional 2013 Preview - 日本語
    ベースとなるプロジェクトは Form を作成する を参照して下さい。
    自動生成のプロジェクト
    RichTextBox でも同じ要領です。
  2. Visual Studio Professional 2013 Preview のショートカットをダブルクリックして起動します。
    メニューからベースとなるプロジェクトファイルを開くと、自動的にバージョン変換されます。
    そのまま実行するとウインドウが表示されます。
  3. form.cs をダブルクリックしてデザインを表示します。
    ツールボックスからフォームに RichTextBox を貼り付けます。
  4. RichTextBox のプロパティから Text に[RichTextBox Test]をタイプします。
  5. コントロールを貼り付けると、InitializeComponent() メソッドのソースコードが追加されます。
    form.cs の MyForm の Constructor から InitializeComponent() を呼び出して下さい。
        public MyForm()
        {
            InitializeComponent();
        }
    
    自動生成のプロジェクトでは、最初から InitializeComponent() が組み込まれているので、この操作は不要です。
  6. 右三角アイコンをクリックすると[RichTextBox Test]が表示されます。
    Windows(C++)でも
    Windows RichEdit の基礎 を掲載しています。

文字色を設定

  1. RichTextBox の特徴の一つは KeyWord(特定の文字列)に対して、色やフォントを設定できることです。
    手始めに "ABC" を検索して赤色に設定してみましょう。
  2. MyForm の Constructor を次のように書き換えて下さい。
    string text で文字列を定義して、richTextBox1.Text = text; で TextBox に設定します。
    次に文字列から "ABC" を検索して赤色に設定します。
    int pos=0 が検索を開始するオフセットです。
    richTextBox1.Find() メソッドで pos の位置から "ABC" を検索します。
    見つかれば文字の色を richTextBox1.SelectionColor = Color.Red; で赤色に設定します。
        public MyForm()
        {
            string text =
            "ABCDEFGabcdefg\nABC abc\nXYZ xyz\n";
            InitializeComponent();
    
            richTextBox1.Text = text;
    
            for(int pos=0; ; )
            {
                //文字列を検索して、選択状態にする
                pos = richTextBox1.Find("ABC", pos, RichTextBoxFinds.None);
                if (pos < 0)    break;
                //文字の色を赤にする
                richTextBox1.SelectionColor = Color.Red;
                pos++;
            }
            //選択状態を解除する
            richTextBox1.Select(0, 0);
        }
    
  3. RichTextBox に複数行のデータを設定する時は、デザイン画面からタイプ入力することも出来ます。
    RichTextBox のプロパティから、Lines/String[] 配列をクリックすると文字列コレクションエディターが表示されます。
    この画面で、複数行の文字列データを直接タイプして下さい。
  4. 上の例では、文字の色を赤に設定しましたが、文字の背景色を赤にすることも出来ます。
    次のように修正してみて下さい。
    //背景色を赤にする
    richTextBox1.SelectionBackColor = Color.Red;
    
    Windows(C++)でも 文字に色を付けて画面に表示する を掲載しています。

フォントを設定

  1. "ABC" を検索して文字の色を設定しましたが、フォントを設定するのも同じ要領です。
    MyForm の Constructor を次のように書き換えて下さい。
    Font char_font が検索した文字に設定するフォントです。
    richTextBox1.SelectionFont = char_font; でフォントを設定します。
        public MyForm()
        {
            string text =
            "ABCDEFGabcdefg\nABC abc\nXYZ xyz\n";
            InitializeComponent();
    
            richTextBox1.Text = text;
            //フォントサイズを25pt、フォントスタイルを太字に設定する。
            Font char_font = new Font(richTextBox1.Font.FontFamily,25,FontStyle.Bold);
    
            for(int pos=0; ; )
            {
                //文字列を検索して、選択状態にする
                pos = richTextBox1.Find("ABC", pos, RichTextBoxFinds.None);
                if (pos < 0)    break;
                richTextBox1.SelectionFont = char_font;
                pos++;
            }
            //選択状態を解除する
            richTextBox1.Select(0, 0);
         }
    
  2. フォント設定のプログラム例は Windows と表示する を参照して下さい。

超初心者のプログラム入門(C# Frame Work)