Main() のクラスに Form を継承する

Main() メソッドが定義されているクラスに Form を継承してウインドウを表示します。
Form を生成する標準的な方法は (^_^;) Form を作成する を参照して下さい。

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

プロジェクトの設定

  1. 最初に Console Mode と同じように、空のプロジェクト(TopForm)を作成して下さい。
    詳細は Hello C# を参照して下さい。
  2. 下記のプログラムを TopForm.cs の名前でプロジェクトのフォルダーに格納して下さい。
    プロジェクト名とソースファイルの名前は違っていてもかまいませんが、一致している方が解りやすいでしょう。
  3. ソリューションエクスプローラのプロジェクト名を右クリックして [追加][既存項目] からソースファイルを選択して下さい。
  4. ソリューション・エクスプローラーで「参照設定」を右クリックして「参照の追加」を選択します。
    System.dll, System.Windows.Forms.dll, System.Drawing.dll を追加します。

  5. ソリューション・エクスプローラでプロジェクト名(TopForm)を右クリックして「プロパティ」を選択します。
    「出力の種類」を「Windowsアプリケーション」にします。
    またはメニューからプロジェクトのプロパティで「出力の種類」を「Windowsアプリケーション」にします。

ソースプログラム

  1. using は修飾しなくても Object Class を参照できるようにする設定です。
  2. new Line() で Form を継承したトップレベルの Object Class を生成します。
    標準的な方法では、Main() とは別のクラス(MyForm)に Form を継承していました。
  3. MyHandler は描画を行うイベントハンドラーです。
  4. Application.Run(f2) で Form に制御を渡し、メッセージループに入ります。
  5. MyHandler ではラインを描画してみました。
  6. ソースコードです。
    /*********************************************************/
    /*★ Top に Form を継承して Line を描画する    前田 稔 ★*/
    /*********************************************************/
    using System;
    using System.Drawing;
    using System.Windows.Forms;
    
    class Line : Form
    {
        public static void Main()
        {
            Line f2 = new Line();
            f2.Paint += new PaintEventHandler(MyHandler);
            Application.Run(f2);
        }
    
        static void MyHandler(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.DrawLine(new Pen(Color.Red),10,50,280,50);
            g.DrawLine(new Pen(Color.Blue,10), 10, 100, 280, 100);
        }
    }
    

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