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

本文关键字:表单 何使 | 更新日期: 2023-09-27 18:33:58

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

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

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

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

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