Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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# WinForms有时出现两次,有时出现一次_C#_Winforms - Fatal编程技术网

C# WinForms有时出现两次,有时出现一次

C# WinForms有时出现两次,有时出现一次,c#,winforms,C#,Winforms,我对此感到困惑,称为联系人的windows窗体有时在欢迎屏幕后调用两次,有时仅调用一次它的联系人。我很确定我只调用过一次表单 以下是我正在使用的代码: WelcomeScreen下面的表单是运行程序时调用的第一个表单: 谢谢你的回答 谢谢你看来是你的计时器触发了多次,导致了这个问题 您的计时器代码中有以下条件: if (timeLeft <= 0) 前面的那行是时间限制-。timeLeft变为0后,它将继续变小-1、-2等,并且每次都会显示该表单 快速修复方法是将条件更改为timeLef

我对此感到困惑,称为联系人的windows窗体有时在欢迎屏幕后调用两次,有时仅调用一次它的联系人。我很确定我只调用过一次表单

以下是我正在使用的代码:

WelcomeScreen下面的表单是运行程序时调用的第一个表单:

谢谢你的回答

谢谢你

看来是你的计时器触发了多次,导致了这个问题

您的计时器代码中有以下条件:

if (timeLeft <= 0)
前面的那行是时间限制-。timeLeft变为0后,它将继续变小-1、-2等,并且每次都会显示该表单


快速修复方法是将条件更改为timeLeft==0或将timeLeft的类型更改为uint。当然,这些都是黑客。正确的修复方法是修复代码,在需要时停止计时器启动。

在代码中使用断点,并检查调用了多少次。如果是两次,请检查调用堆栈并查看原因!您还可以检查表单是否已打开,如果它已打开,请不要调用它。使用WindowState我想WindowState只适用于最大化、最小化和正常sir@VijaySinghRana。谢谢你,我会记得经常使用断点并检查调用堆栈sir@mybirthname但是为什么你这么懒地调试它?或者至少是Debug.writeling。。
public partial class Contact : Form
    {
        const int CP_NOCLOSE_BUTTON = 0x200;

        public Contact()
        {
            InitializeComponent();
        }

        void Contact_Load(object sender, EventArgs e)
        {
            SystemManager.SoundEffect();
        }

        void button1_Click(object sender, EventArgs e)
        {
            this.Hide();

            Loading _loading = new Loading();

            _loading.ShowDialog();

            this.Close();
        }

        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams myCp = base.CreateParams;
                myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
                return myCp;
            }
        }
if (timeLeft <= 0)