C# Winform中如何实现窗体之间的跳转

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Winform中如何实现窗体之间的跳转相关的知识,希望对你有一定的参考价值。

1、把子窗体的接收框改变成public。让外部可以访问。因为要把子窗体的内部对象公开,所以不符合代码原则。

2、在子窗体中加一个公开的方法,让外部调用( 对修改关闭,对扩展开放)

代码如下:

namespace Demo    

public partial class ParentFrm : 

Form            //定义委托        

public Action<string> atcSend get; set;         

private ChildFrm ChildFrm get; set; //低级办法         

public ParentFrm()                   

InitializeComponent();               

private void ParentFrm_Load(object sender, EventArgs e)                   

ChildFrm frm = new ChildFrm();            

ChildFrm = frm;//低级办法            //子窗体弹出来之前关注父窗体的消息变化            

atcSend += frm.TextStr;            

frm.Show();        


扩展资料

static void Main()

Application.Run(new FormName());

FormName就是想启动的第一个窗体。

实现窗体之间的跳转:程序首先运行的是“登录”窗体,如果是新用户,就需要注册,再登录窗体,单击注册按钮,打开学生注册窗体,就需要实现窗体之间的跳转。显示窗体的方法有两种:

一种是Show()方法,另一种是ShowDialogue()方法,前者是直接显示,后者是以模式对话框的方式显示。

参考资料来源:

百度百科——父窗口子窗口

参考技术A 实现窗体之间的跳转一种是Show()方法,另一种是ShowDialogue()方法,前者是直接显示,后者是以模式对话框的方式显示。这里先介绍第一种方法:分为两步首先创建窗体对象,然后再显示窗体。语法如下被调用的窗体类对象名=new被调用的窗体类();对象名.Show();示例:首先打开窗体“frmLogin”,双击“注册”按钮,在注册按钮的Click事件里编写代码:privatevoidbtnReg_Click(objectsender,EventArgse)frmRegisterobjfrm=newfrmRegister();objfrm.Show();我们再来看第二种方法:模式对话窗体showDialog()的使用面对多窗口的调用的时候,我们往往不喜欢窗口之间的随意切换,那样还要花费时间寻找我们需要的窗口。如果业务操作流程一但出现问题,窗口的顺序也有可能被再次打乱,很不顺手。我们可以将show方法转化为showDialog()方法,顾名思义,showDialog()是一个进行路经绑定的show方法,它是不可以自由切换的,换言之,就是当你没有关闭你当前页的前提下,你是无法关闭该页面后面的任一页面的,它是当前唯一(路经打开)为true的。showDialog()是模式窗体,与show方法的主要区别在于以showDialog()打开的窗体,要等当前窗体关闭后才能操作其他窗体,而show()方法则不受此限制。建立showDialog()的方法比较简单,比如建立两个Form窗体,通过第一个Form窗体上的Button按钮打开另一个窗体。单击一个窗体的button按钮打开另一个窗体源代码:privatevoidbutton1_Click(objectsender,EventArgse)Form2f2=newForm2();//首先将另一个窗口Form2实例化f2this.Visible=false;//将当前窗口设置为不可视;如果不这样处理则系统报错。本回答被提问者采纳

C# Winform 登陆窗体跳转到主窗体,登陆窗体隐藏

不多说,直接上代码:

//Login窗体隐藏
Login.Hide();
//声明主窗体
Main main = new Main();
//主窗体显示
main.ShowDialog();
//Login窗体关闭
this.Close();

菜鸟整理,大虾勿喷,希望大虾不吝指教。

以上是关于C# Winform中如何实现窗体之间的跳转的主要内容,如果未能解决你的问题,请参考以下文章

1.WinForm练习--按钮控件:窗体之间的跳转

winform的窗体中菜单栏中有两个菜单的子窗体间的跳转

qt 多窗体跳转问题

c#网页之间的跳转语句

WPF窗体之间跳转的无缝效果

QT C++ 编写多窗口之间的跳转 在一个窗口中可以变化很多UI界面