当表单X关闭时,我如何使某些事情发生在Y上

时间:2012-05-13 18:41:29

标签: c# winforms

单击该按钮时,将显示第二个表单“uxDGVdatabase”,并禁用调用表单中的控件。当用户关闭uxDGVdatabase时,我希望再次启用uxRevisionHelperForm中的控件。

所以我假设我需要使用委托来执行此操作?在uxRevisionHelperForm中,我有以下内容:

    public delegate void myDelegate(); 

    private void updateDataButton_Click(object sender, EventArgs e)
    {

        myDelegate letsTryThis = new myDelegate(activateGroupBorder);

        uxRevisionHelperGroupBox.Enabled = false;
        uxDGVdatabase myNewDisplay = new uxDGVdatabase();
        myNewDisplay.Show();
    }

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

在uxDGVdatabase中我有以下内容 - 需要在这里输入什么代码?

    private void uxDGVdatabase_closed(object sender, FormClosedEventArgs e)
    {

    }

1 个答案:

答案 0 :(得分:3)

您将事件处理程序放在错误的类中。你会想要这样:

    uxRevisionHelperGroupBox.Enabled = false;
    uxDGVdatabase myNewDisplay = new uxDGVdatabase();
    myNewDisplay.FormClosed += delegate { uxRevisionHelperGroupBox.Enabled = true; }
    myNewDisplay.Show();

请注意,事件对另一个类中的代码很有用。