0

以下は、Windowsフォームで正常に機能します。

フォームが閉じられたときに、デリゲートを使用してフォームのGroupBorderを再アクティブ化するだけです。

    private void uxUpdateDataButton_Click(object sender, EventArgs e)   
    {
        uxRevisionHelperGroupBox.Enabled = false;
        uxBindingNavigator.Hide();
        uxFormDatabase myNewDisplay = new uxFormDatabase();
        myNewDisplay.FormClosed += delegate { activateGroupBorder(); };
        myNewDisplay.Show();    
    }

    public void activateGroupBorder() 
    {
        uxRevisionHelperGroupBox.Enabled = true;
        uxBindingNavigator.Show();
    }

上記と同等のことを行うことはできますが、子フォームの代わりにメッセージボックスを使用できますか?

これは私の試みであり、解決策ではありません。

    private void uxAuthorPictureBox_Click(object sender, EventArgs e)
    { 
        uxRevisionHelperGroupBox.Enabled = false;
        uxBindingNavigator.Hide();
        MessageBox myMessage = new MessageBox;
        myMessage.close += delegate { activateGroupBorder(); };
        myMessage.Show("hello world"); 
    }
    public void activateGroupBorder()
    {
        uxRevisionHelperGroupBox.Enabled = true;
        uxBindingNavigator.Show();
    }     
4

1 に答える 1

0

MessageBox.Show(...)は同期呼び出しです。つまり、ボックスが閉じられるまで実行は続行されません。activateGroupBorder()メッセージボックスが完成した後、なぜあなたはあなたに電話をかけることができないのですか?例えば:

MessageBox.Show("hello world"); 
this.activateGroupBorder();
于 2012-07-14T21:50:30.900 に答える