0

Windowsフォームからクラスライブラリである呼び出し元のアプリケーションに出力を取得したい。

Form1 f=new Form1();
f.Show();
if(f.PropertyName!=null)
{
}

f.PropertyNameは常にnullです。f.show()の後、if()条件ですぐに実行されます。form1から出力を取得する方法はありますか?

4

3 に答える 3

4

Show()ノンブロッキングです。を使用するか、フォームのイベントにShowDialog()デリゲートを追加して、ロジックをその中に移動します。FormClosing()if()

編集:

クロージングイベントのラムダ「デリゲート」の例を次に示します。

f.FormClosing += (sender, e) => { /* your code here */ };

編集2:あなたが処理FormClosed()するかFormClosing()、あなたの特定のニーズに依存するかどうか。「不正な」値でFormClosing()フォームのクローズをキャンセルする場合は、フォームのクローズをキャンセルできます。

于 2012-11-06T06:05:58.017 に答える
2

Show()の代わりにShowDialog()を使用することをお勧めします。

于 2012-11-06T06:06:30.893 に答える
1
Form1 f=new Form1();
if(f.ShowDialog() == DialogResult.OK)
{
  if(f.PropertyName!=null)
  {
  }
}
于 2012-11-06T06:20:59.130 に答える