winform窗体之间的跳转返回怎么实现?求大神帮帮忙

仙_ 2017-05-24 07:34:36
比如:我有窗体1,窗体2,窗体3,窗体4
我从窗体1进入窗体4 ,然后关闭窗体4返回窗体1
从窗体2进入窗体4,关闭窗体4后返回2,
也就是说,我从哪个窗体进入窗体4,当窗体4关闭时自动返回进入的窗体
求大神帮帮忙~
...全文
387 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyg17173 2017-05-24
  • 打赏
  • 举报
回复
N种方法。 最简单粗暴的就是对话框模式。 比较好玩的方法,B窗体有委托,A 窗体打开B窗体时调用委托,B窗体关闭时执行委托方法。
  • 打赏
  • 举报
回复
打开子窗体以dialog方式打开不就行了?
xuzuning 2017-05-24
  • 打赏
  • 举报
回复
你可以用对话框方式打开窗体,这样就在父窗体和子窗体间建立了必然联系。不过子窗体是模态的,不关闭父窗体就得不到焦点 你也可以在打开子窗体时传递父窗体到子窗体,以便子窗体通过他访问父窗体
仙_ 2017-05-24
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
父可以捕获窗体关闭关闭事件,然后在子窗体关闭时调用自己设置的 Active 方法来显示在所有窗体最顶层。
似懂非懂,我还不是很理解,有很多个父窗体共用一个子窗体,而子窗体关闭返回的是进入它的父窗体啊,这个弯转不过来,还请大神详细讲解一下
  • 打赏
  • 举报
回复
父窗体可以捕获子窗体关闭事件,然后在子窗体关闭时调用自己的 Active 方法来设置为所有窗体最顶层。
  • 打赏
  • 举报
回复
子窗体不应该关心什么“从哪个窗体进入的”,这不是它的职责,也不设计为这样的流程。程序员不可能简单地把用户的外行的简单的话完完全全地设计为代码。
  • 打赏
  • 举报
回复
父可以捕获窗体关闭关闭事件,然后在子窗体关闭时调用自己设置的 Active 方法来显示在所有窗体最顶层。

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧