Form.Closed イベント
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

public: event EventHandler^ Closed { void add (EventHandler^ value); void remove (EventHandler^ value); }
/** @event */ public void add_Closed (EventHandler value) /** @event */ public void remove_Closed (EventHandler value)

![]() |
---|
Closed イベントは、.NET Framework Version 2.0 では使用されません。代わりに FormClosed イベントを使用します。 |
このイベントは、ユーザーによる操作やフォームの Close メソッドによってフォームが閉じられた後に発生します。フォームが閉じないようにする場合は、Closing イベントを処理し、イベント ハンドラに渡される CancelEventArgs の Cancel プロパティを true に設定します。
このイベントを使用して、フォームで使用されていたリソースを解放したり、フォームに入力された情報を保存したり、親フォームを更新したりできます。
![]() |
---|
Application.Exit メソッドが呼び出されてアプリケーションを終了する場合、Form.Closed イベントと Form.Closing イベントは発生しません。これらのイベントのいずれかに実行する必要がある検証コードがある場合は、Exit メソッドを呼び出す前に、開いている各フォームに対して Form.Close メソッドを個別に呼び出す必要があります。 |
フォームが MDI 親フォームの場合は、MDI 親フォームの Closing イベントが発生する前に、すべての MDI 子フォームの Closing イベントが発生します。さらに、MDI 親フォームの Closed イベントが発生する前に、すべての MDI 子フォームの Closed イベントが発生します。

SetDesktopLocation メンバ、Closed メンバ、Load メンバ、Activated メンバ、および Activate メンバの使用方法を示すコード例を次に示します。この例を実行するには、1 つの Button コントロール (Button1) と 2 つの Label コントロール (Label1 および Label2) が配置された、Form1 という名前のフォームに、次のコードを貼り付けます。
Shared x As Integer = 200 Shared y As Integer = 200 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' Create a new Form1 and set its Visible property to true. Dim form2 As New Form1 form2.Visible = True ' Set the new form's desktop location so it appears below and ' to the right of the current form. form2.SetDesktopLocation(x, y) x += 30 y += 30 ' Keep the current form active by calling the Activate method. Me.Activate() Me.Button1.Enabled = False End Sub ' Updates the label text to reflect the current values of x and y, ' which was were incremented in the Button1 control's click event. Private Sub Form1_Activated(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Activated Label1.Text = "x: " & x & " y: " & y Label2.Text = "Number of forms currently open: " & count End Sub Shared count As Integer = 0 Private Sub Form1_Closed(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Closed count -= 1 End Sub Private Sub Form1_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Load count += 1 End Sub
static int x = 200; static int y = 200; private void Button1_Click(System.Object sender, System.EventArgs e) { // Create a new Form1 and set its Visible property to true. Form1 form2 = new Form1(); form2.Visible = true; // Set the new form's desktop location so it // appears below and to the right of the current form. form2.SetDesktopLocation(x, y); x += 30; y += 30; // Keep the current form active by calling the Activate // method. this.Activate(); this.Button1.Enabled = false; } // Updates the label text to reflect the current values of x // and y, which was were incremented in the Button1 control's // click event. private void Form1_Activated(object sender, System.EventArgs e) { Label1.Text = "x: "+x+" y: "+y; Label2.Text = "Number of forms currently open: "+count; } static int count = 0; private void Form1_Closed(object sender, System.EventArgs e) { count -= 1; } private void Form1_Load(object sender, System.EventArgs e) { count += 1; }
static int x = 200; static int y = 200; void Button1_Click( System::Object^ sender, System::EventArgs^ e ) { // Create a new Form1 and set its Visible property to true. Form1^ form2 = gcnew Form1; form2->Visible = true; // Set the new form's desktop location so it // appears below and to the right of the current form. form2->SetDesktopLocation( x, y ); x += 30; y += 30; // Keep the current form active by calling the Activate // method. this->Activate(); this->Button1->Enabled = false; } // Updates the label text to reflect the current values of x // and y, which was were incremented in the Button1 control's // click event. void Form1_Activated( Object^ sender, System::EventArgs^ e ) { Label1->Text = String::Format( "x: {0} y: {1}", x, y ); Label2->Text = String::Format( "Number of forms currently open: {0}", count ); } static int count = 0; void Form1_Closed( Object^ sender, System::EventArgs^ e ) { count -= 1; } void Form1_Load( Object^ sender, System::EventArgs^ e ) { count += 1; }
private static int x = 200; private static int y = 200; private void button1_Click(Object sender, System.EventArgs e) { // Create a new Form1 and set its Visible property to true. Form1 form2 = new Form1(); form2.set_Visible(true); // Set the new form's desktop location so it // appears below and to the right of the current form. form2.SetDesktopLocation(x, y); x += 30; y += 30; // Keep the current form active by calling the Activate // method. this.Activate(); this.button1.set_Enabled(false); } //button1_Click // Updates the label text to reflect the current values of x // and y, which was were incremented in the button1 control's // click event. private void Form1_Activated(Object sender, System.EventArgs e) { label1.set_Text("x: " + x + " y: " + y); label2.set_Text("Number of forms currently open: " + count); } //Form1_Activated private static int count = 0; private void Form1_Closed(Object sender, System.EventArgs e) { count -= 1; } //Form1_Closed private void Form1_Load(Object sender, System.EventArgs e) { count += 1; } //Form1_Load

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- Form.Closed イベントのページへのリンク