Text Editor の基礎

C# で作成する Text Editor の基礎です。

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

開発の経緯

  1. 従来使われていた Windows System の文字コードは MultiByte(ANSI) ですが、最近では Unicode が主流になってきました。
    古い MultiByte の Editor は使えなくなり Unicode の Text Editor が必要になりました。
    優秀な Editor では、文字コードを意識すること無く編集できるのですが、逆にプログラムを作成する上では文字コードを知らなければなりません。
    そこで文字コードの違いをはっきりと掌握できる Text Editor を開発することにしました。
  2. 昔から「Text Editor が開発できれば一人前のプログラマ」だと言われていましたが、最近では TextBox に備わっている機能を使えば比較的簡単です。
    TextBox よりも RichTextBox の方が機能も高く Editor の開発に向いています。
    所が TextBox には自動的に ContextMenu(右クリックメニュー)が設定されるのですが RichTextBox には設定されないようです。
    念のために Windwos7&.NET 2005 でテストしたのですが同様の結果でした。
    そこで今回は TextBox を使って簡単な Text Editor を開発することにしました。
    RichTextBox の説明は C# RichTextBox を参照して下さい。
  3. Visual Studio 2013 Preview のテストも兼ねて、次の環境で自動生成を使って開発します。
    ・Windows8.1 評価版
    ・Microsoft Visual Studio Professional 2013 Preview - 日本語
  4. Visual Studio のショートカットをダブルクリックして起動します。
    メニューから[ファイル/新規作成/プロジェクト]を選択します。
    テンプレートから[Visual C#/Windows/Windowsフォームアプリケーション]を選択します。
    名前は規定値で[WindowsFormsApplication1]になっていますが [TextEditor] に変更します。
    場所はプロジェクトを格納するフォルダ(C:\TMP など)を指定して下さい。
    「ソリューションのディレクトリの作成」チェックは外します。
  5. [デザイン] を表示してウインドウ(Form)のサイズを 1000*600 ぐらいに広げて下さい。
    次にツールボックスから [MenuStrip] を貼り付けます。
    MenuStrip に次のメニューを設定して下さい。
    今回はメニューの表示だけで、メソッドの作成は後ほど行います。
    MenuStrip の設定は ToolBox からメニューを貼り付ける を参照して下さい。
    グループ メニュー メソッド
    File(&F)UniOpen(&O)UniOpen メソッド
    JisOpen(&R)JisOpen メソッド
    OverWrite(&V)Save メソッド
    UniSave(&S)UniSave メソッド
    JisSave(&W)JisSave メソッド
    Exit(&X)Exit メソッド
    View(&V)Setfont(&F)SetFont メソッド
    Help(&H)Version(&A)HelpAbout メソッド
  6. Form 全体に TextBox を配置します。
    TextBox のプロパティを以下のように設定して下さい。
    AcceptsReturn と AcceptsTab は、Returnキーと Tabキーを TextBox で使えるようにします。
    Anchor と Dock は、ウインドウの拡大/縮小時に、サイズを合わせるためです。
    TextBox の貼り付けは TextBox と Button を貼り付ける を参照して下さい。
  7. Form のレイアウト情報は Form1.Designer.cs の InitializeComponent() に書き出されます。
    自動生成では、何もしなくても Form の Constructor から呼び出されます。
        public Form1()
        {
            InitializeComponent();
        }
    
  8. プログラムを実行して、メニューと TextBox の表示を確認して下さい。
    TextBox にテストデータをタイプしてみて下さい。
    文字列を選択してマウスを右クリックすると ContextMenu が表示されます。
    コピーやペーストが出来ることを確かめて下さい。
    実用的な TextEditor は Text Editor の開発 を参照して下さい。
    C++ Windows でも簡単な Edit Control で Text Editor を作る を掲載しています。

[Next Chapter ↓] メニューをプログラム

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