在显示C#后执行winform事件

本文关键字:winform 事件 执行 显示 | 更新日期: 2023-09-27 17:57:58

我有一个winform应用程序,它有两个表单,我从PasswordForm调用一个表单MainForm

首先我设置了构造函数

private MainForm mainForm = new MainForm();

然后我出示表格

mainForm.Show();

但是,由于在表单加载事件上运行了许多SQL查询,因此加载表单大约有2秒的延迟。

有没有什么方法可以在显示mainForm后调用事件?(特别是我想淡出PasswordForm,我目前使用这个

FadeOut(this, 100);

我尝试过从MainForm_Shown事件调用,但没有找到引用PasswordForm表单的方法?

    private void MainForm_Shown(object sender, EventArgs e)
    {
        // THIS WILL FADE OUT THE 'MAINFORM' BUT I WANT TO FADE OUT THE 'PASSWORDFORM'
        FadeOut(this, 100);
    }

EDIT两个表单使用相同的命名空间。

在显示C#后执行winform事件

使用开放表单:

private void MainForm_Shown(object sender, EventArgs e)
{
    dynamic frm = Application.OpenForms["mainForm"];
    frm.FadeOut(this, 100);
}