C#窗体设计——多个窗体之间的调用

Posted 橘猫吃不胖~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#窗体设计——多个窗体之间的调用相关的知识,希望对你有一定的参考价值。

概述:

一个Windows应用程序通常由多个窗体组成、在创建一个窗体时,系统会自动在应用程序中创建Form类的一个实例对象,当前显示的窗体就是一个类的对象。同样的情况,当想从当前窗体中显示另一个窗体时,必须在当前窗体中创建另一个窗体的实例。

使用以下代码可以打开另一个窗体:新窗体类 窗体实例名 = new 新窗体类();

但是只是实例化一个窗体类的对象不能让窗体“显示”出来,还要调用该对象的方法才能显示出窗体,窗体对象有两个方法可以完成该功能:

窗体实例名.Show();
Show()方法以无模式对话框方式显示该窗体,即新窗体显示后,主窗体(调用窗体)和子窗体(被调用窗体)之间可以任意切换,互不影响。

窗体实例名.ShowDialog();
ShowDialog()方法以模式对话框显示该窗体,即新窗体显示后,必须操作完子窗体,并关闭完子窗体之后才能操作主窗体。

例:分别调用模式窗体和无模式窗体。

设计如下图所示三个窗体Form1、Form2和Form3:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Form1中两个按钮的代码如下:

private void button1_Click_1(object sender, EventArgs e)
{
    Form2 f2 = new Form2();//定义Form2类对象,窗体实例名f2随便取的
    f2.Show();//以无模式窗体方式调用
}
private void button2_Click(object sender, EventArgs e)
{
    Form3 f3 = new Form3();//定义Form3类对象,窗体实例名f3随便取的
    f3.ShowDialog();//以模式窗体方式调用
}

结果如下:
在这里插入图片描述
调用无模式窗体时,可以两个窗体任意切换没有影响,本结果调用Form2窗体后,还可以继续操作Form1窗体。
在这里插入图片描述
调用模式窗体时,只能先使用当前最新打开的窗体Form3,不能使用Form1窗体。

以上是关于C#窗体设计——多个窗体之间的调用的主要内容,如果未能解决你的问题,请参考以下文章

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

c# 不同窗体之间传值和调用

C#窗体设计——只运行指定的窗体

用C#怎么样实现一个逐渐消失的窗体?

C#程序设计窗体如何将导入的图片背景变成透明?

c#窗体运行一下然后卡死,无法运行