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()方法,前者是直接显示,后者是以模式对话框的方式显示。

参考资料来源:

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
实现窗体之间的跳转一种是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;//将当前窗口设置为不可视;如果不这样处理则系统报错。本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网