【问题标题】:Refresh window form刷新窗口窗体
【发布时间】:2022-01-10 12:55:18
【问题描述】:

我有两个 WinForms:

admin.cs 这是一个 Windows.Forms.Form

addManager.cs 这是一个 Windows.Forms.UserControl

addManager userControl 在表单中admin.cs


admin.cs 我有一个刷新按钮,下面是它的代码:

   if (admin.ActiveForm != null)
   {
       this.Dispose();
       admin NewForm = new admin();
       NewForm.Show();
   }

现在,我决定去掉 admin.cs 上的刷新按钮,并将其代码移动到 中的另一个按钮addManager.cs

***addManager.cs***

private void btnAdd_Click(object sender, EventArgs e)
{
     ...
     if (admin.ActiveForm != null)
     {
         this.Dispose();
         admin NewForm = new admin();
         NewForm.Show();
     }
}

程序没有错误,但当前窗体没有关闭,而是出现了 NewForm,使其同时成为两个 Windows。左窗口是我想在显示 NewForm 时处理的旧窗口(右窗口) photo for reference

我想要做的是通过不同表单(userControl)的按钮自动刷新表单。

非常感谢任何帮助。

【问题讨论】:

    标签: c# winforms button


    【解决方案1】:

    您可以在按钮单击事件中这样做。先隐藏当前窗体,在 Closed 事件中关闭。

    this.Hide();
    admin newForm = new admin();
    newForm.Closed += (s, args) => this.Close(); 
    newForm.Show();
    

    【讨论】:

    • 我仍然得到相同的输出。它仍然显示当前形式。我所做的是将您的答案粘贴到 admin.cs 中的按钮单击事件中,并且从 addManager.cs 我所做的是像这样执行单击admin newForm = new admin(); newForm.btnRefresh.PerformClick();
    猜你喜欢
    • 1970-01-01
    • 2019-11-30
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    相关资源
    最近更新 更多