方法: コマンド ラインから Windows フォーム アプリケーションを作成する
次の手順では、コマンドラインから Windows フォーム アプリケーションを作成して実行するために完了する必要のある基本的な手順について説明します。 Visual Studio では、これらの手順に対する広範なサポートが用意されています。 「チュートリアル: WPF での Windows フォーム コントロールのホスト」も参照してください。
手順
フォームを作成するには
空のコード ファイルに、次の
Imports
またはusing
ステートメントを入力します。using System; using System.ComponentModel; using System.Drawing; using System.Windows.Forms;
Imports System.ComponentModel Imports System.Drawing Imports System.Windows.Forms
フォーム クラスから継承する
Form1
という名前のクラスを宣言します。public class Form1 : Form
Public Class Form1 Inherits Form
Form1
にパラメーターなしのコンストラクターを作成します。後続の手順で、コンストラクターにさらにコードを追加します。
public Form1() {}
Public Sub New() End Sub
Main
メソッドをクラスに追加します。STAThreadAttribute を C#
Main
メソッドに適用し、Windows フォーム アプリケーションがシングルスレッド アパートメントであることを指定します。 (Visual Basic で開発された Windows フォームでは既定でシングルスレッド アパートメント モデルが使用されるため、Visual Basic では、この属性は不要です)EnableVisualStyles を呼び出し、オペレーティング システムのスタイルをアプリケーションに適用します。
フォームのインスタンスを作成して実行します。
[STAThread] public static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); }
Public Shared Sub Main() Application.EnableVisualStyles() Application.Run(New Form1()) End Sub End Class
アプリケーションをコンパイルして実行するには
.NET Framework コマンド プロンプトで、
Form1
クラスを作成したディレクトリに移動します。フォームをコンパイルします。
C# を使用している場合、「
csc form1.cs
」と入力します。-or-
Visual Basic を使用している場合、「
vbc form1.vb
」と入力します。
コマンド プロンプトに
Form1.exe
を入力します。
コントロールの追加とイベントの処理
前の手順は、コンパイルして実行する基本的な Windows フォームを作成する方法を示しました。 次の手順では、コントロールを作成してフォームに追加し、コントロールのイベントを処理する方法を示します。 Windows フォームに追加できるコントロールの詳細については、「Windows フォーム コントロール」を参照してください。
Windows フォーム アプリケーションを作成する方法を理解するだけでなく、イベント ベースのプログラミングとユーザー入力を処理する方法を理解する必要があります。 詳細については、「Windows フォーム内でのイベント ハンドラーの作成」と「ユーザー入力の処理」を参照してください。
ボタン コントロールを宣言して、クリック イベントを処理するには
button1
という名前のボタン コントロールを宣言します。フォームにボタンを追加します。
次のコード例は、ボタン コントロールを宣言する方法を示します。
public Button button1; public Form1() { button1 = new Button(); button1.Size = new Size(40, 40); button1.Location = new Point(30, 30); button1.Text = "Click me"; this.Controls.Add(button1); button1.Click += new EventHandler(button1_Click); }
Public WithEvents button1 As Button Public Sub New() button1 = New Button() button1.Size = New Size(40, 40) button1.Location = New Point(30, 30) button1.Text = "Click me" Me.Controls.Add(button1) End Sub
ボタンで Click イベントを処理するメソッドを作成します。
クリック イベント ハンドラーで、メッセージ "Hello World" と共に MessageBox を表示します。
次のコード例は、ボタン コントロールのクリック イベントを処理する方法を示します。
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Hello World"); }
Private Sub button1_Click(ByVal sender As Object, _ ByVal e As EventArgs) Handles button1.Click MessageBox.Show("Hello World") End Sub
Click イベントを作成したメソッドに関連付けます。
次のコード例は、イベントをメソッドに関連付ける方法を示します。
button1.Click += new EventHandler(button1_Click);
Private Sub button1_Click(ByVal sender As Object, _ ByVal e As EventArgs) Handles button1.Click
前の手順で説明したように、アプリケーションをコンパイルして実行します。
例
次のコード例は、前の手順の完全な例です。
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
namespace FormWithButton
{
public class Form1 : Form
{
public Button button1;
public Form1()
{
button1 = new Button();
button1.Size = new Size(40, 40);
button1.Location = new Point(30, 30);
button1.Text = "Click me";
this.Controls.Add(button1);
button1.Click += new EventHandler(button1_Click);
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello World");
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
}
}
}
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Public Class Form1
Inherits Form
Public WithEvents button1 As Button
Public Sub New()
button1 = New Button()
button1.Size = New Size(40, 40)
button1.Location = New Point(30, 30)
button1.Text = "Click me"
Me.Controls.Add(button1)
End Sub
Private Sub button1_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles button1.Click
MessageBox.Show("Hello World")
End Sub
<STAThread()> _
Shared Sub Main()
Application.EnableVisualStyles()
Application.Run(New Form1())
End Sub
End Class
関連項目
.NET Desktop feedback