Text Editor の開発

C# で実用的な Text Editor を開発します。

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

開発の経緯

  1. 従来使われていた Windows System の文字コードは MultiByte(ANSI) ですが、最近では Unicode が主流になってきました。
    そこで MultiByte や Unicode に対応した Text Editor を開発することにしました。
    Text Editor の基礎 では Editor 開発の基礎を解説していますが、今回は実用的なアプリを開発します。
    Text Editor を自作するメリットは、自分の好みに合わせて自由に設計できることです。
    今回も私の好みに合わせて、例えば次のような機能を持たせています。
    これ以外にも、自分でプログラムするのですから自由自在です。
  2. 開発環境は Windows8.1(2014/04/13 Update 版に更新) + Visual Studio 2005 です。
    最近(2014/03 頃に)久しぶりに調べると、空のプロジェクトが使えなくなっていました。
    これではチュートリアルの役目を果たさないので、自動生成を使って組み直すことにします。
    開発環境が異なると、基本的には同じでも、何かと違いがあるので注意して下さい。
    特に Windows8 Store アプリとは、大きな違いがあります。
    Text Editor の基礎では TextBox を使っていますが、今回は RichTextBox を使います。
  3. ベースとなるプロジェクトを 自動生成を使って Form を作成する を参照して構築して下さい。
    Form(ウインドウ)のサイズを適当に広げて下さい。
    次のページを参照して、ツールボックスからメニューを貼り付けます。
    ToolBox からメニューを貼り付ける
    今回は簡単なメニューを設定します。
    グループ メニュー メソッド
    File(&F)Exit(&X)Exit メソッド
    Exit() メソッドです。
        private void Exit(object sender, EventArgs e)
        {
            this.Close();
        }
    
  4. TabControl を参照して、ツールボックスからタブコントロールを貼り付けます。
    TabControl の Anchor に Top,Left を Dock に "Fill" を設定して下さい。
    Dock を設定すると、ウインドウの拡大/縮小でサイズを合わせてくれます。
    TabControl の規定値では tabPage1, tabPage2 が設定されるので tabPage2 を選択して右クリックメニューで削除して下さい。
  5. タブコントロールに RichTextBox を貼り付けて下さい。
    Anchor に Top,Left を Dock に "Fill" を設定するとウインドウの拡大/縮小でサイズがフィットします。
  6. 空のプロジェクトから構築すると設定しなければならないのですが【自動生成では不要】だと思います。
    Form1() の Constructor に次の行を追加します。
    InitializeComponent();
    Main() 関数に STAThread を設定します。
        [STAThread]
        public static void Main()
        {   Form1 mf = new Form1();
            Application.Run(mf);
        }
    
  7. プログラムを実行して、メニューと TabControl と RichTextBox の表示を確認して下さい。
    ウインドウを拡大/縮小すると TabControl と RichTextBox のサイズがフィットします。
    手順どおり作成するとうまく出来ると思うのですが、TabControl が消えたり、フィットがうまくいかないときは Form の Resize で座標を計算して配置して下さい。

[Next Chapter ↓] ファイル入出力

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