c#form跳转问题

lubaqunyi40 2016-06-16 01:22:49
有两个form都可以跳转到form3,我在form3中应该怎么判断是由哪个form跳转来的?然后实现buttom返回到上一个FORM
...全文
204 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在form3里面声明个变量,保存下标记从哪个form来的标识
tinydyw 2016-06-16
  • 打赏
  • 举报
回复
在form3的构造函数里加上form的引用..创建form3的时候就告诉它是从哪创建的...
小程序员 2016-06-16
  • 打赏
  • 举报
回复
窗体用单例: Form1{ public static readonly Form1 instance=new Form1(); //看你要怎么跳转,点击按钮跳转的话就在按钮事件写下面的代码 { FlowControl.instance.SetFlow(this,Form3.instance);//这是不跳转的,另外你可以自己写一个带跳转的setflow } }Form2{ public static readonly Form2 instance=new Form2(); //看你要怎么跳转,点击按钮跳转的话就在按钮事件写下面的代码 { FlowControl.instance.SetFlow(this,Form3.instance);//这是不跳转的,另外你可以自己写一个带跳转的setflow } }Form3{ public static readonly Form3 instance=new Form3(); //看你要怎么跳转,点击按钮跳转的话就在按钮事件写下面的代码 { FlowControl.instance.SetFlow(this,Form3.instance);//这是不跳转的,另外你可以自己写一个带跳转的setflow } //返回时间 { FlowControl.instance.BackLast Flow(); } } 一个流程控制 FlowControl { public static readonly FlowControl instance=new FlowControl(); private Form lastFlow;private Form nowFlow; public void SetFlow(Form lastFrm,Form nowFrm){ lastFlow=frm;nowFlow=nowFrm;//看情况写不写跳转} public void BackLast Flow() { if(...)//非空判断nowflow lastflow return; nowFlow.hide(); lastFlow.Show(); nowFlow=lastFlow; lastFlow=null; } //......更多的跳转操作方法 } 多步返回的话改改,吧flow的两个改为list,或者其他的,可以自己改一个合适的
超级兑换 2016-06-16
  • 打赏
  • 举报
回复
根据传递过去选择返回哪个窗口
引用 2 楼 lubaqunyi40 的回复:
[quote=引用 1 楼 u013130428 的回复:] Form2跟Form1代码 Form3 frm3 = new Form3(2) frm3.show(); Form3代码 public Form3(int i) { InitializeComponent(); }
form3的代码没看懂 [/quote] public Form3(int i)//带参数的构造函数 InitializeComponent();//窗体加载调用 这样写的话你new一个Form3就需要给一个参数
巴士上的邂逅 2016-06-16
  • 打赏
  • 举报
回复
Form1、Form2可以订阅Form3的FormClosed事件,Form3关闭就this.Show()
龍过鸡年 2016-06-16
  • 打赏
  • 举报
回复
如果同一时间只允许一个 Form3 出现,可以使用 ShowDialog 方法 如果允许多个 Form3,也就是 Form1 2 分别调用自己的 Form3 则可以设置 Form3.Owner = this 属性
正怒月神 2016-06-16
  • 打赏
  • 举报
回复
1 form3创建一个有参构造函数。 2 通过静态类,保存字段,form3根据静态类的字段来辨别
lubaqunyi40 2016-06-16
  • 打赏
  • 举报
回复
引用 1 楼 u013130428 的回复:
Form2跟Form1代码 Form3 frm3 = new Form3(2) frm3.show(); Form3代码 public Form3(int i) { InitializeComponent(); }
form3的代码没看懂
超级兑换 2016-06-16
  • 打赏
  • 举报
回复
Form2跟Form1代码 Form3 frm3 = new Form3(2) frm3.show(); Form3代码 public Form3(int i) { InitializeComponent(); }

110,534

社区成员

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

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

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