• ベストアンサー

C# showdialogの戻り値について

お世話になります。 C#2005で開発をしております。 質問内容を以下に記述致します。 FormA及びFormBがあり以下の処理を実行します。 (1)FormAからFormBをShowdialogで呼び出す (2)FormBにて任意の処理を実行する (3)FormAがFormBを閉じ、戻り値を受け取る ここで(3)の時に戻り値をDialogResult以外の戻り値で取得したいのですが、 方法はございますでしょうか。 可能であればint型数値で戻り値を設定したいと考えております。 お手数ですがご教示いただければ幸いに存じます。 以上宜しくお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

既存のShowDialog()を利用せず、FormBでShowDialog()をオーバーロードすればいいのでは。 【Form1.cs】 Form2 form = new Form2(); int result = form.ShowDialog(); Console.WriteLine(result); 【Form2.cs】 DialogResult result = base.ShowDialog(); if (result == System.Windows.Forms.DialogResult.OK) { return 0; } else { return 1; } みたいな。 また、ShowDialog()で制御がFormAに戻ってくるタイミングは、FormBが閉じられた時です。 つまり、(3)の前半部分はShowDialog()では実現できません。

origin_93
質問者

お礼

早速のご回答誠にありがとうございました。 悶々としていたのでとても助かりました。 感謝感謝です。