Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 打开时表单重复_C#_Winforms - Fatal编程技术网

C# 打开时表单重复

C# 打开时表单重复,c#,winforms,C#,Winforms,所以基本上,我有一个问题,当Form1消失时,它应该显示Form2,但出于某种原因Form2会打开两次。有关情况的录像: 我的代码: private void Timer1_Tick(object sender, EventArgs e) { Hide(); Main_Form MainForm = new Main_Form(); MainForm.Show(); timer1.St

所以基本上,我有一个问题,当Form1消失时,它应该显示Form2,但出于某种原因Form2会打开两次。有关情况的录像:

我的代码:

private void Timer1_Tick(object sender, EventArgs e)
        {
            Hide();
            Main_Form MainForm = new Main_Form();
            MainForm.Show();
            timer1.Stop();
        }

如果结果相同,请使用此代码而不是计时器功能,那么问题不在这里,您需要从另一个地方查看。

可能先停止计时器。顺便问一下,为什么要用计时器?我试过了,什么都没变。我使用计时器的原因是,一旦第一个表单隐藏(Form1有点像闪屏),我想打开第二个表单(主表单),我们将不得不看到更多复制它的代码。这是一个相当有名的话题,所以谷歌搜索应该会给你带来很多结果。我们这里不做代码的链接或图片。用文本版本编辑您的问题。
private Main_Form MainForm;

private void SwitchForms()
{
    this.Hide();
    if (MainForm == null) {
        MainForm = new Main_Form()
        MainForm.Show();
    }
}