2016-06-15 15 views
0

私はこの例のコードを使用しています。Messagebox with input fieldモーダルダイアログフォームを解除するにはどうすればよいですか?

ユーザーがフォーム上のボタンをクリックすると、何も起こりません。フォームは残っています。私はテキストボックスの結果を得ることができるようにモーダルのために何かをワイヤーアップする必要がありますか?

public void ShowMyDialogBox() 
{ 
    Form2 testDialog = new Form2(); 

    // Show testDialog as a modal dialog and determine if DialogResult = OK. 
    if (testDialog.ShowDialog(this) == DialogResult.OK) 
    { 
     // Read the contents of testDialog's TextBox. 
     this.txtResult.Text = testDialog.TextBox1.Text; 
    } 
    else 
    { 
     this.txtResult.Text = "Cancelled"; 
    } 
    testDialog.Dispose(); 
} 
+0

Form2とは何ですか? – Ian

答えて

2

閉鎖するフォームを取得するには、Form2上のボタンをクリックしたイベント内Close();を呼び出す必要があります。

+0

これをボタンのクリックイベントに追加しました。しかし、私は条件に該当せず、テキストボックスの値をキャプチャしません。 – 4thSpace

+1

ボタンのクリックイベントがDialogResult = DialogResult.OKを設定していることを確認してください。 – Dave

+0

また、 'Form2'のwinformsデザイナで' Button'自体の 'DialogResult'プロパティを設定することもできます。 – wablab

関連する問題