1

单击该按钮时,将显示第二个表单“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)
    {

    }
4

1 回答 1

3

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

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

请记住,事件对于在另一个类中编写代码很有用。

于 2012-05-13T18:44:38.440 回答