gpt4 book ai didi

c# - 同时运行不同的表单

转载 作者:行者123 更新时间:2023-12-02 07:57:31 24 4
gpt4 key购买 nike

我正在尝试同时显示 2 个不同的表单。我尝试了以下代码,但它不起作用:

Form1 t1 = new Form1();
Form2 t2 = new Form2();
t2.Show();
t1.Show();

Application.Run();

我还尝试从program.cs运行第一个,从Form1_Load运行另一个:

private void Form1_Load(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
}

这也不起作用。

我做错了什么?如何同时运行多个表单?

最佳答案

您可以创建一个新的 ApplicationContext 来表示多个表单:

public class MultiFormContext : ApplicationContext
{
private int openForms;
public MultiFormContext(params Form[] forms)
{
openForms = forms.Length;

foreach (var form in forms)
{
form.FormClosed += (s, args) =>
{
//When we have closed the last of the "starting" forms,
//end the program.
if (Interlocked.Decrement(ref openForms) == 0)
ExitThread();
};

form.Show();
}
}
}

使用它您现在可以编写:

Application.Run(new MultiFormContext(new Form1(), new Form2()));

关于c# - 同时运行不同的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16108744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com