回 帖 发 新 帖 刷新版面

主题:为什么FormClosing事件会执行两次?

我把下面的函数添加到窗体的FormClosing事件中,但当关闭窗体,点了弹出对话框的取消按钮时,函数执行了两次,不知道为什么? 
     public void IsDataSave(Object sender,FormClosingEventArgs e)
        {

            if(IsModify)//IsModify表示是否修改了数据
                {
                DialogResult result;
                result=MessageBox.Show("数据已修改,是否保存数据?","是否保存",MessageBoxButtons.YesNoCancel);//这个对话框出现了两次,疑惑~~~
                if(result==DialogResult.Yes) MessageBox.Show("将保存数据");
                else if(result==DialogResult.No) MessageBox.Show("不保存数据");
                else e.Cancel=true;
                }
        }

回复列表 (共2个回复)

沙发

我把你的代码Copy进来试了一下,没有你说的现象出现。
能不能提供多一些的信息

板凳

问题已解决,我在窗体的Load事件中写了两次this.FormClosing+=CustFace.IsDataSave;

我来回复

您尚未登录,请登录后再回复。点此登录或注册