刷新窗口窗体

Posted

技术标签:

【中文标题】刷新窗口窗体【英文标题】: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)的按钮自动刷新表单。

非常感谢任何帮助。

【问题讨论】:

【参考方案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();

以上是关于刷新窗口窗体的主要内容,如果未能解决你的问题,请参考以下文章

在父窗体中用showModalDialog方式打开一个页面,并在页面中删除一条记录,成功后刷新本页面,再关闭本页面

刷新窗口窗体

请教winform刷新问题

如何实现我另一个窗口关闭时,刷新这个窗口(C#中问题)

C#中关闭子窗口的同时刷新父窗口的办法?

WPF关闭子窗口时刷新父页面列表数据,WPF窗体间传参