モーダルフォームとしてForm1
表示するフォームがあります。Form2
私は、クローズ後Form2
に反映されるべきさまざまな値のセットのあらゆる種類の編集と削除を行います。だから私がすることは、閉じた後です。は長いプロセスなので、そのメソッドを実行したいのは、変更 (編集、追加、削除) が発生した場合のみであり、開いたり閉じたりしたときではありません。Form1
Form2
RePopulateControls_in_Form1()
Form2
RePopulateControls_in_Form1()
Form2
Form2
だから、これは私がやろうとしていることですForm1
:
Form2 f = new Form2();
if (f.ShowDialog(this) == DialogResult.Something)
RePopulateControls_in_Form1()
そして Form2 では、
private void bntEdit()
{
//If Edit?
this.DialogResult = DialogResult.Something;
}
private void bntAdd()
{
//If Add?
this.DialogResult = DialogResult.Something;
}
private void bntDelete()
{
//If Delete?
this.DialogResult = DialogResult.Something;
}
しかし、私の問題は.Something
. 以外の場合は.None
、Form2
単純に閉じます。Form2
ユーザーが閉じない限り、単純に閉じたくありません。
私がこれを行う場合:
//in Form1
private void Form1_Click()
{
Form2 f = new Form2();
if (f.ShowDialog(this) == DialogResult.None)
RePopulateControls_in_Form1()
}
//in Form2
private void Form2_SomeModification()
{
//If Modified?
this.DialogResult = DialogResult.None;
}
RePopulateControls_in_Form1()
ヒットしません!
要するに、私のプログラムでは、RePopulateControls_in_Form1()
値が変更された場合にのみ呼び出すようにコンパイラに指示するにはどうすればよいForm2
ですか?
注: コントロールは動的に作成され、少し複雑であるため (実際にForm2
は、GUI コントロールとそのラベルなどで作成されます)、再設定が必要です。