在c#退出windows窗体之前询问

时间:2017-09-28 05:47:57

标签: c# sql

 private void Inward_FormClosing(object sender, FormClosingEventArgs e)
    {
         DialogResult dilog = MessageBox.Show("Do you really want to exit", "Exit", MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
        if (dilog == DialogResult.Yes)
        {

            con.Open();
            try
                {
                    SqlCommand cmd1 = new SqlCommand("truncate table Inward_data1", con);
                    cmd1.ExecuteNonQuery();

                    MessageBox.Show("Data Clear Successfully......");
                    sum = 0;

                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    ex = null;
                }
                con.Close();
                this.Close();
        }
            else if (dilog == DialogResult.No)
            {
                e.Cancel = true;
            }


    }

这是我的代码我想要一个消息框关闭此表单之前,如果用户我在dilog box结果窗口上单击是一个SQL查询应该执行的是截断表,这不是我的主表单,这个表单是子表单,所以当我点击稀释盒上的是,稀释盒不断询问“你想退出”,我的代码中有什么不对。

1 个答案:

答案 0 :(得分:0)

我认为问题出在this.Close();上,删除该行并看到该表单已关闭。 this.Close();会再次触发结束事件,从而产生dialog box constantly asking "do u want to exit"