Windows应用程序~~窗体间跳转、窗体间的数据传递

一. 窗体间的跳转

1. 第一种打开窗体,原本窗体保留在窗口

创建两个窗体
Windows应用程序~~窗体间跳转、窗体间的数据传递_第1张图片 Windows应用程序~~窗体间跳转、窗体间的数据传递_第2张图片
登录成功后我们调转到QQ主界面,在登录时编写调转代码

new出来我们要跳转的窗体, 通过Show()显示窗体

Windows应用程序~~窗体间跳转、窗体间的数据传递_第3张图片
登录成功后显示第二个窗体。
Windows应用程序~~窗体间跳转、窗体间的数据传递_第4张图片

2. 第二种打开后关闭登录窗口

this.Hide(); //通过方法隐藏窗体
this.Visible=false; //通过属性隐藏窗体

Windows应用程序~~窗体间跳转、窗体间的数据传递_第5张图片
Windows应用程序~~窗体间跳转、窗体间的数据传递_第6张图片
登录成功后,只会QQ主界面,登录界面自动隐藏
Windows应用程序~~窗体间跳转、窗体间的数据传递_第7张图片

3. 关闭窗体后,如果在运行会报错,程序未关闭

Windows应用程序~~窗体间跳转、窗体间的数据传递_第8张图片
如何解决呢? 因为我们的程序在关闭时,为把主程序关闭,只是把主程序隐藏了,所以会报错,此时需要在任务管理器中找到我们运行的文件名称,关闭进程即可
Windows应用程序~~窗体间跳转、窗体间的数据传递_第9张图片
此时在运行就没有问题了
Windows应用程序~~窗体间跳转、窗体间的数据传递_第10张图片
我们不能每次都在进程中关闭程序,所以我们需要在最后运行的窗体中加上关闭程序命令Application.Exit()

找到FormClosing
编写Application.Exit()关闭代码

Windows应用程序~~窗体间跳转、窗体间的数据传递_第11张图片
Windows应用程序~~窗体间跳转、窗体间的数据传递_第12张图片

此时就可以解决我们的问题了

二. 窗体间的数据传递

如何把第一个窗体传递到第二个窗体呢?我们如何再登录的时候把登录的用户名传递到我们显示主界面上去?接下来我们学习两种传递方法

第一种:通过属性进行传递

创建一个字段和属性,把我们输入进去的值存到字段里。

双击QQ主界面进入代码编辑模式,编辑加载事件
Windows应用程序~~窗体间跳转、窗体间的数据传递_第13张图片
我们编写一个字段和属性,在加载的时候赋值即可
Windows应用程序~~窗体间跳转、窗体间的数据传递_第14张图片
打开登录界面,双击登录按钮,编写单击事件
Windows应用程序~~窗体间跳转、窗体间的数据传递_第15张图片
通过属性存储我们输入的值,这样就建立好了两个窗体之间的传值
Windows应用程序~~窗体间跳转、窗体间的数据传递_第16张图片
测试一下
Windows应用程序~~窗体间跳转、窗体间的数据传递_第17张图片 Windows应用程序~~窗体间跳转、窗体间的数据传递_第18张图片

第二种:通过构造方法传值

右击查看代码
Windows应用程序~~窗体间跳转、窗体间的数据传递_第19张图片
编写带参数的构造方法
Windows应用程序~~窗体间跳转、窗体间的数据传递_第20张图片
打开登录界面,双击登录按钮,编写单击事件
Windows应用程序~~窗体间跳转、窗体间的数据传递_第21张图片
创建窗体的时候,进行传值
Windows应用程序~~窗体间跳转、窗体间的数据传递_第22张图片
测试一下
Windows应用程序~~窗体间跳转、窗体间的数据传递_第23张图片 Windows应用程序~~窗体间跳转、窗体间的数据传递_第24张图片

你可能感兴趣的:(C#/.NET,c#,net,winform,窗体,.net)