【问题标题】:Perform event after winform is shown C# [duplicate]显示winform后执行事件C# [重复]
【发布时间】:2016-07-20 05:39:06
【问题描述】:

我有一个带有 2 个表单的 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# winforms


【解决方案1】:

使用开放式表格:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多