winform 新增时新打开窗口,当关闭时刷新原有列表页面,不要用ShowDialog,要比较普通方便的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform 新增时新打开窗口,当关闭时刷新原有列表页面,不要用ShowDialog,要比较普通方便的方法相关的知识,希望对你有一定的参考价值。

在你新打开的窗口的 FormClosing 事件,如果有别的按钮控制它关闭,那么同时也要在这个按钮的 Click 事件里,加入:

this.DialogResult = System.Windows.Forms.DialogResult.OK;

假设你这个新窗口叫做 form2,主窗口叫 form1,那么:

form2 f = new form2();
f.Show();
if (f.DialogResult = System.Windows.Forms.DialogResult.OK)  

    // 爱咋刷新咋刷新吧

追问

没触发 啊

这个是代码,你帮我看下呗

,没触发啊,你帮我看下呗

参考技术A f.FormClosed += ....
订阅这个事件,刷新
参考技术B 委托哦,具体太复杂自己去搜

vue:解决使用param传参后,再次刷新页面会新增一个原有的tab

问题:在最近的项目中,我通过传递不同的参数,复用同一组件进行渲染,然而意外出现一个bug,就是当我重新刷新该页面时,会新增一个tab

原来的:

 

刷新页面后:

 

 

 

查阅资料后,发现该现象是由于通过params进行传递的参数引起的,params进行传参后再次刷新页面,参数丢失,导致fullpath不一致,从而新增了页面(而我使用的d2admin基于element-ui第三方框架)

解决方案:将params方式传参改为使用query传参,这样参数就不会因为刷新而丢失

参考:

https://juejin.im/post/5c139fed6fb9a049ab0d80dc

query和params传参的区别?

  • query 传参配置的是path,而params传参配置的是name,在params中配置path无效
  • query在路由配置不需要设置参数,而params必须设置
  • query传递的参数会显示在地址栏中
  • params传参刷新会无效,但是query会保存传递过来的值,刷新不变 ;

 如果路由上面不写参数,也是可以传过去的,但不会在url上面显示出你的参数,并且当你跳到别的页面或者刷新页面的时候参数会丢失,那依赖这个参数的http请求或者其他操作就会失败

 

以上是关于winform 新增时新打开窗口,当关闭时刷新原有列表页面,不要用ShowDialog,要比较普通方便的方法的主要内容,如果未能解决你的问题,请参考以下文章

C# winform怎么实现子窗体关闭时刷新父窗体数据

winform中一个窗口关闭后在主窗口上自动刷新显示的数据。谢谢

Winform 多个窗口编辑同一条数据同步的实现

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

关于winform子窗体刷新父窗体

C# winform 关闭窗体后在打开 如何让打开的窗体还是原窗体 且打开的窗体还是原状态