0

「OK」と「キャンセル」というラベルの付いたボタンを含む新しいフォームを作成しました。このフォームは、最初のフォームのボタンをクリックするとポップアップします。新しいカスタム フォームで [OK] ボタンがクリックされた場合にのみ、いくつかのコードを実行したいと思います。これは MessageBox() ではありません。

これまでのところ、次のようなものがあります。

CustomForm c = new CustomForm();
DialogResult r = c.DialogResult;

c.ShowDialog();

if (r == DialogResult.OK)
{
    //Run code
}

ただし、これは機能していません。これを適切にコーディングするにはどうすればよいですか?また、「OK」ボタンを CustomForm の AcceptButton として設定します。

4

3 に答える 3

4

おそらく、次のように圧縮することをお勧めします。

CustomForm c = new CustomForm();

if (c.ShowDialog() == DialogResult.OK) {
    // run code
}

また、他のフォームのボタンの DialogResult を OK に設定する必要があることに注意してください。

DialogResult プロパティ

DialogResultですenum。そのため、参照ではなく値によってコピーされます。

于 2012-12-18T03:33:41.777 に答える
0

結果にアクセスする前に、ダイアログを表示する必要があります。現在、ダイアログを作成し、値を変数に格納してから、ユーザーがダイアログの結果を変更できるようにしています。これは、変数に格納されている値を変更しません。

于 2012-12-18T03:35:16.297 に答える
0

それらは2つのボタンであると述べましたが、OKボタンのボタンクリックイベントを使用して操作を実行することをお勧めします。私があなたの質問を理解していれば、これは正しいかもしれません..//

于 2012-12-18T03:44:00.820 に答える