Windowsフォームからクラスライブラリである呼び出し元のアプリケーションに出力を取得したい。
Form1 f=new Form1();
f.Show();
if(f.PropertyName!=null)
{
}
f.PropertyNameは常にnullです。f.show()の後、if()条件ですぐに実行されます。form1から出力を取得する方法はありますか?
Show()
ノンブロッキングです。を使用するか、フォームのイベントにShowDialog()
デリゲートを追加して、ロジックをその中に移動します。FormClosing()
if()
編集:
クロージングイベントのラムダ「デリゲート」の例を次に示します。
f.FormClosing += (sender, e) => { /* your code here */ };
編集2:あなたが処理FormClosed()
するかFormClosing()
、あなたの特定のニーズに依存するかどうか。「不正な」値でFormClosing()
フォームのクローズをキャンセルする場合は、フォームのクローズをキャンセルできます。
Show()の代わりにShowDialog()を使用することをお勧めします。
Form1 f=new Form1();
if(f.ShowDialog() == DialogResult.OK)
{
if(f.PropertyName!=null)
{
}
}