如何在c# . net中同时启动多个表单?
本文关键字:启动 表单 net | 更新日期: 2023-09-27 18:06:12
在c#中,我试图同时开始两种形式(但最终可能是三种)…我试过添加一个新的"应用程序"。运行"到我的Program.cs文件,但它只在第一个窗体关闭后启动第二个窗体。
我要怎么创建这样的东西呢?类似于Lazarus的程序
您只需在调用Application.Run()之前显示您的表单。
var form1 = new Form1();
var form2 = new Form2();
form1.Show();
form2.Show();
Application.Run();
这里有一个警告,因为没有表单绑定到Application.Run
调用,所以您需要一种方法来告诉应用程序在关闭所有表单时退出。
要显示表单,您有两个方法:
- Show() -显示一个非模态对话框(是你想要的);您还需要添加应用程序。
- ShowDialog() -显示一个模态(一些阻塞)对话框;一个模态对话框捕获当前线程的所有输入。
如果你想要一个像拉撒路一样的界面,谷歌的"MDI应用程序"
我认为你可能应该决定一个形式作为你的"主要"形式,然后有其他形式(s)的成员变量的主要形式。然后让主表单的Load事件也显示次表单。
class MainForm : Form {
readonly Form _otherForm = new OtherForm();
override OnLoad(EventArgs args) {
_otherForm.Closed += // add a handler for what happens when otherForm is closed.
_otherForm.Show();
base.OnLoad(args);
}
}
也许有更好的方法,但这就是我想做的第一个镜头