一次运行不同的表单 - c#

我试图同时显示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()));

LeetCode题解计算机为什么是基于二进制的?

可以是三进制么?二进制有什么好处?题解:为什么叫电子计算机?算盘应该没有二进制

LeetCode题解统计城市的所有灯泡

这个是我刚毕业的时候,一个真实的面试题,这是一个开放题。题目描述:想办法,将一个城市的所有灯泡数量统计出来。题解:费米估算法1、如果某个城市常驻人口有1000万2、假设每5人居住在一套房里,每套房有灯泡5只,那么住宅灯泡共有1000万只3、假设公众场所每10人共享一只灯泡,那么共有100万只4、主要的这两者相加就得出了1100万只当然实际上这是估算的,具体应…

Forms.py文件应该放在哪里? - python

我现在开始写我的第一个Django项目,我需要为应用创建我的forms.py文件。我见过一些教程将文件存储在项目的主文件夹下,而另一些则存储在app目录中。如果我想制作仅适用于一个应用程序的表单,哪种布局最适合我?是否可以制作多个文件来保存表单代码?谢谢! python大神给出的解决方案 这是标准布局:├── apps/ | ├── [app]/ | | ├…

WinForms / C#中的动画效果 - c#

我要粘贴游戏即时贴中的图片。您看到的空单元格矩阵由PictureBox [] []组成。我不会每当我将硬币丢到其中一列中时...我希望它掉下来,但是紫色的东西会隐藏掉落的硬币,而您看到的灰色不会隐藏它。如何产生这种效果?请注意,在每个PictureBox控件中,我已经设置了BG图像,如您所见 参考方案 不要那样做。创建自定义控件。在自定义控件中,覆盖Pain…

C#Winforms |边框厚度 - c#

是否有任何文档证明正则边框的厚度有多大?目标:我创建了一个宽度为800px的userControl。我想用一个新的实例以全分辨率(800px-可见的一切)来引发一个弹出窗口(通常是普通形式)。我的问题:将表单设置为Form.Size.Width = 800不会这样做。看起来表单的边框包含在表单的宽度属性中。我需要减去该边界。我应该是这样的:2px + 800…