Form.DialogResult プロパティ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文
Dim instance As Form Dim value As DialogResult value = instance.DialogResult instance.DialogResult = value
/** @property */ public DialogResult get_DialogResult () /** @property */ public void set_DialogResult (DialogResult value)
public function get DialogResult () : DialogResult public function set DialogResult (value : DialogResult)
フォームがダイアログ ボックスとして使用された場合の結果を表す DialogResult。
解説
フォームのダイアログ結果とは、フォームがモーダル ダイアログ ボックスとして表示された場合に、そのフォームから返される値のことです。フォームがダイアログ ボックスとして表示される場合、このプロパティに DialogResult 列挙体からの値を設定すると、フォームのダイアログ結果の値が設定され、モーダル ダイアログ ボックスが非表示になり、制御が呼び出し側のフォームに戻ります。このプロパティは、通常、フォーム上の Button コントロールの DialogResult プロパティによって設定されます。ユーザーが Button コントロールをクリックすると、その Button の DialogResult プロパティに割り当てられた値が、フォームの DialogResult プロパティに割り当てられます。
フォームがモーダル ダイアログ ボックスとして表示されている場合、閉じるボタン (フォームの右上隅の X が付いているボタン) をクリックするとフォームが非表示になり、DialogResult プロパティが DialogResult.Cancel に設定されます。ユーザーがダイアログ ボックスの閉じるボタンをクリックした場合や、DialogResult プロパティの値が設定された場合は、Close メソッドが自動的に呼び出されることはありません。その場合はフォームが非表示になるだけで、ダイアログ ボックスの新しいインスタンスを作成しなくてもそのフォームを再表示できます。このため、フォームがアプリケーションで不要となった場合は、そのフォームの Dispose メソッドを呼び出す必要があります。
このプロパティを使用すると、ダイアログ ボックスで実行されるアクションを適切に処理するために、ダイアログ ボックスが閉じられる方法を決定できます。
メモ |
---|
ユーザーが閉じるボタンをクリックしたときに DialogResult プロパティに割り当てられる値をオーバーライドするには、フォームの Closing イベントのイベント ハンドラで DialogResult プロパティを設定します。 |
フォームをダイアログ ボックスとして表示し、フォームの DialogResult プロパティを参照することにより、フォームの OK ボタンと Cancel ボタンのどちらがクリックされたかをメッセージ ボックスに表示するコード例を次に示します。
Public Sub CreateMyForm() ' Create a new instance of the form. Dim form1 As New Form() ' Create two buttons to use as the accept and cancel buttons. Dim button1 As New Button() Dim button2 As New Button() ' Set the text of button1 to "OK". button1.Text = "OK" ' Set the position of the button on the form. button1.Location = New Point(10, 10) ' Set the text of button2 to "Cancel". button2.Text = "Cancel" ' Set the position of the button based on the location of button1. button2.Location = New Point(button1.Left, button1.Height + button1.Top + 10) ' Make button1's dialog result OK. button1.DialogResult = DialogResult.OK ' Make button2's dialog result Cancel. button2.DialogResult = DialogResult.Cancel ' Set the caption bar text of the form. form1.Text = "My Dialog Box" ' Define the border style of the form to a dialog box. form1.FormBorderStyle = FormBorderStyle.FixedDialog ' Set the accept button of the form to button1. form1.AcceptButton = button1 ' Set the cancel button of the form to button2. form1.CancelButton = button2 ' Set the start position of the form to the center of the screen. form1.StartPosition = FormStartPosition.CenterScreen ' Add button1 to the form. form1.Controls.Add(button1) ' Add button2 to the form. form1.Controls.Add(button2) ' Display the form as a modal dialog box. form1.ShowDialog() ' Determine if the OK button was clicked on the dialog box. If form1.DialogResult = DialogResult.OK Then ' Display a message box indicating that the OK button was clicked. MessageBox.Show("The OK button on the form was clicked.") ' Optional: Call the Dispose method when you are finished with the dialog box. form1.Dispose ' Display a message box indicating that the Cancel button was clicked. Else MessageBox.Show("The Cancel button on the form was clicked.") ' Optional: Call the Dispose method when you are finished with the dialog box. form1.Dispose End If End Sub 'CreateMyForm
public void CreateMyForm() { // Create a new instance of the form. Form form1 = new Form(); // Create two buttons to use as the accept and cancel buttons. Button button1 = new Button (); Button button2 = new Button (); // Set the text of button1 to "OK". button1.Text = "OK"; // Set the position of the button on the form. button1.Location = new Point (10, 10); // Set the text of button2 to "Cancel". button2.Text = "Cancel"; // Set the position of the button based on the location of button1. button2.Location = new Point (button1.Left, button1.Height + button1.Top + 10); // Make button1's dialog result OK. button1.DialogResult = DialogResult.OK; // Make button2's dialog result Cancel. button2.DialogResult = DialogResult.Cancel; // Set the caption bar text of the form. form1.Text = "My Dialog Box"; // Define the border style of the form to a dialog box. form1.FormBorderStyle = FormBorderStyle.FixedDialog; // Set the accept button of the form to button1. form1.AcceptButton = button1; // Set the cancel button of the form to button2. form1.CancelButton = button2; // Set the start position of the form to the center of the screen. form1.StartPosition = FormStartPosition.CenterScreen; // Add button1 to the form. form1.Controls.Add(button1); // Add button2 to the form. form1.Controls.Add(button2); // Display the form as a modal dialog box. form1.ShowDialog(); // Determine if the OK button was clicked on the dialog box. if (form1.DialogResult == DialogResult.OK) { // Display a message box indicating that the OK button was clicked. MessageBox.Show("The OK button on the form was clicked."); // Optional: Call the Dispose method when you are finished with the dialog box. form1.Dispose(); } else { // Display a message box indicating that the Cancel button was clicked. MessageBox.Show("The Cancel button on the form was clicked."); // Optional: Call the Dispose method when you are finished with the dialog box. form1.Dispose(); } }
void CreateMyForm() { // Create a new instance of the form. Form^ form1 = gcnew Form; // Create two buttons to use as the accept and cancel buttons. Button^ button1 = gcnew Button; Button^ button2 = gcnew Button; // Set the text of button1 to "OK". button1->Text = "OK"; // Set the position of the button on the form. button1->Location = Point(10,10); // Set the text of button2 to "Cancel". button2->Text = "Cancel"; // Set the position of the button based on the location of button1. button2->Location = Point(button1->Left,button1->Height + button1->Top + 10); // Make button1's dialog result OK. button1->DialogResult = ::DialogResult::OK; // Make button2's dialog result Cancel. button2->DialogResult = ::DialogResult::Cancel; // Set the caption bar text of the form. form1->Text = "My Dialog Box"; // Define the border style of the form to a dialog box. form1->FormBorderStyle = ::FormBorderStyle::FixedDialog; // Set the accept button of the form to button1. form1->AcceptButton = button1; // Set the cancel button of the form to button2. form1->CancelButton = button2; // Set the start position of the form to the center of the screen. form1->StartPosition = FormStartPosition::CenterScreen; // Add button1 to the form. form1->Controls->Add( button1 ); // Add button2 to the form. form1->Controls->Add( button2 ); // Display the form as a modal dialog box. form1->ShowDialog(); // Determine if the OK button was clicked on the dialog box. if ( form1->DialogResult == ::DialogResult::OK ) { // Display a message box indicating that the OK button was clicked. MessageBox::Show( "The OK button on the form was clicked." ); // Optional: Call the Dispose method when you are finished with the dialog box. delete form1; } else { // Display a message box indicating that the Cancel button was clicked. MessageBox::Show( "The Cancel button on the form was clicked." ); // Optional: Call the Dispose method when you are finished with the dialog box. delete form1; } }
public void CreateMyForm() { // Create a new instance of the form. Form form1 = new Form(); // Create two buttons to use as the accept and cancel buttons. Button button1 = new Button(); Button button2 = new Button(); // Set the text of button1 to "OK". button1.set_Text("OK"); // Set the position of the button on the form. button1.set_Location(new Point(10, 10)); // Set the text of button2 to "Cancel". button2.set_Text("Cancel"); // Set the position of the button based on the location of button1. button2.set_Location(new Point(button1.get_Left(), button1.get_Height() + button1.get_Top() + 10)); // Make button1's dialog result OK. button1.set_DialogResult(get_DialogResult().OK); // Make button2's dialog result Cancel. button2.set_DialogResult(get_DialogResult().Cancel); // Set the caption bar text of the form. form1.set_Text("My Dialog Box"); // Define the border style of the form to a dialog box. form1.set_FormBorderStyle(get_FormBorderStyle().FixedDialog); // Set the accept button of the form to button1. form1.set_AcceptButton(button1); // Set the cancel button of the form to button2. form1.set_CancelButton(button2); // Set the start position of the form to the center of the screen. form1.set_StartPosition(FormStartPosition.CenterScreen); // Add button1 to the form. form1.get_Controls().Add(button1); // Add button2 to the form. form1.get_Controls().Add(button2); // Display the form as a modal dialog box. form1.ShowDialog(); // Determine if the OK button was clicked on the dialog box. if (form1.get_DialogResult().Equals(get_DialogResult().OK)) { // Display a message box indicating that the OK button was clicked. MessageBox.Show("The OK button on the form was clicked."); // Optional: Call the Dispose method when you are finished with // the dialog box. form1.Dispose(); } else { // Display a message box indicating that the Cancel button was // clicked. MessageBox.Show("The Cancel button on the form was clicked."); // Optional: Call the Dispose method when you are finished with // the dialog box. form1.Dispose(); } } //CreateMyForm
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.DialogResult プロパティのページへのリンク