C#では、ウィンドウのことをフォームといいます。フォームに関するさまざまな機能はFormクラスで提供されます。
すでに、コンソール編第70章で簡単なフォームの作り方を解説しました。そこでは、Formクラスからフォームを作りました。また、この作り方は一般的ではないことも書きました。
他の方法としては、Mainメソッドをメンバに持つクラスをFormクラスから継承する、あるいはMainメソッドをメンバとして持たないクラスをFormクラスから継承する、ということが考えられます。さらに、Visual C#を使用している場合はフォーム・デザイナを使うという方法もあります。
| 方法 | |
|---|---|
| 1 | MainメソッドでFormオブジェクトを生成する |
| 2 | Mainメソッドを有するクラスをFormクラスから継承する |
| 3 | Mainメソッドを有しないクラスをFormクラスから継承する |
| 4 | デザイナ等のツールを使用する |
| 5 | その他の方法 |
この章では方法2と3でサンプルを作ってみます。なお、方法4はFormプログラミングの仕組が充分にわかってから利用してください。訳がわからず、適当にいじっていては全く進歩がありません。
まずは、方法2でフォームを作ってみます。
前準備は、参照設定にSystem.dll, System.Drawing.dll, System.Windows.Forms.dllを追加して、プロジェクトのプロパティで「出力の種類」を「Windowsアプリケーション」にします。(この章のサンプルではSystem.Drawing.dllは不要ですが、すぐに必要になるので追加しておきます)
// form02.cs
using System;
using System.Drawing;
using System.Windows.Forms;
class form02 : Form
{
public static void Main()
{
form02 f2 = new form02();
Application.Run(f2);
}
}
using System.Drawingの行は無くてもかまいませんが、一般的なフォーム・プログラミングではすぐに必要になるので、あえて入れてあります。では、方法3でフォームを作ってみましょう。
// form03.cs
using System;
using System.Drawing;
using System.Windows.Forms;
class form03
{
public static void Main()
{
MyForm mf = new MyForm();
Application.Run(mf);
}
}
// 今は独自のものが無い!
class MyForm : Form
{
}
さて、Application.Run(...)とは、一体何なのでしょうか。また、できたフォームにテキストやグラフィックスを描画するにはどうしたらよいのでしょうか。
次章より少しずつ解説していくことにします。
Update 16/Oct/2006 By Y.Kumei