CLI で Rich Text Box を貼り付けます。

RichTextBox Test
AAA
BBBBB
CCC
DDDD
EEEE

CLI で動かす

  1. RichTextBox.cs の名前で utf-8(BOM 有り)でタイプして C:\DATA\C#\BAT\WIN\ に格納して下さい。
    /*★ Form を継承した MyForm に RichTextBox を貼り付ける    前田 稔 ★*/
    using System;
    using System.Drawing;
    using System.Windows.Forms;
    
    public class MyForm : Form
    {
        private RichTextBox richTextBox1;
    
        public MyForm()
        {
            InitializeComponent();
        }
    
        private void InitializeComponent()
        {
                this.richTextBox1 = new System.Windows.Forms.RichTextBox();
                this.SuspendLayout();
                // richTextBox1
                this.richTextBox1.Location = new System.Drawing.Point(12, 12);
                this.richTextBox1.Name = "richTextBox1";
                this.richTextBox1.Size = new System.Drawing.Size(254, 220);
                this.richTextBox1.TabIndex = 0;
                this.richTextBox1.Text = "RichTextBox Test\nAAA\nBBBBB\nCCC\nDDDD\nEEEE\n";
                // MyForm
                this.ClientSize = new System.Drawing.Size(278, 244);
                this.Controls.Add(this.richTextBox1);
                this.Name = "MyForm";
                this.ResumeLayout(false);
        }
    }
    
    class form01
    {
        public static void Main()
        {
            MyForm mf = new MyForm();
            Application.Run(mf);
        }
    }
    
  2. スタートメニューから[すべてのプログラム][Visual C++ 2005 Express Edition][Visual Studio Tools] [Visual Studio 2005 コマンド プロンプト] から起動します。
    C:\Data\C#\BAT\win のフォルダーに移動して、直接 csc コマンドを叩きます。
    RichTextBox.exe を実行すると、Rich Text Box が貼り付けられたウインドウが表示されます。
    >CD C:\Data\C#\BAT\win
    >CSC RichTextBox.cs
    >RichTextBox.exe          
    
  3. richTextBox1 が表示するテキストの定義です。("RichTextBox Test\nAAA\nBBBBB\nCCC\nDDDD\nEEEE\n")
                this.richTextBox1 = new System.Windows.Forms.RichTextBox();
                this.SuspendLayout();
                // richTextBox1
                this.richTextBox1.Location = new System.Drawing.Point(12, 12);
                this.richTextBox1.Name = "richTextBox1";
                this.richTextBox1.Size = new System.Drawing.Size(254, 220);
                this.richTextBox1.TabIndex = 0;
                this.richTextBox1.Text = "RichTextBox Test\nAAA\nBBBBB\nCCC\nDDDD\nEEEE\n";
    

TEXT の行番号を振る

  1. Rich Text Box のテキストに行番号を振ってみました。
    /*★ RichTextBox に行番号を設定する    前田 稔 ★*/
    using System;
    using System.Drawing;
    using System.Windows.Forms;
    
    public class MyForm : Form
    {
        private RichTextBox richTextBox1;
    
        public MyForm()
        {
            InitializeComponent();
            HelpLine();
        }
    
        private void InitializeComponent()
        {
                this.richTextBox1 = new System.Windows.Forms.RichTextBox();
                this.SuspendLayout();
                // richTextBox1
                this.richTextBox1.Location = new System.Drawing.Point(12, 12);
                this.richTextBox1.Name = "richTextBox1";
                this.richTextBox1.Size = new System.Drawing.Size(254, 220);
                this.richTextBox1.TabIndex = 0;
                this.richTextBox1.Text = "RichTextBox Test\nAAA\nBBBBB\nCCC\nDDDD\nEEEE\n";
                // MyForm
                this.ClientSize = new System.Drawing.Size(278, 244);
                this.Controls.Add(this.richTextBox1);
                this.Name = "MyForm";
                this.ResumeLayout(false);
        }
    
        // 行番号を設定
        private void HelpLine()
        {   string  text= "Line Number\n", str, lineno;
            int     row;
            for(row=0; row<richTextBox1.Lines.Length; row++)
            {   str= richTextBox1.Lines[row];
                lineno= row.ToString("d5");         // "00123"
                text= text + lineno + " " + str + "\n";
                Console.WriteLine(str);
            }
            richTextBox1.Text= text;
        }
    }
    
    class form01
    {
        public static void Main()
        {
            MyForm mf = new MyForm();
            Application.Run(mf);
        }
    }
    
  2. プログラムの大半は前回と同じで、HelpLine() が行番号を設定する関数です。
    Rich Text Box の TEXT は Array List のような形式で格納されていて richTextBox1.Lines.Length で行数を知ることができます。
    また str= richTextBox1.Lines[row] で指定された行を取得することが出来ます。
    取得した str(行)の先頭に5桁で番号を振って、text に結合して行きます。
    完成した text をRich Text Box に設定すれば完成です。

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