在Form_Closing事件里,判断数据是否改变,改变则提示用户保存数据,否则直接关闭窗口

解决方案 »

  1.   

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
     DialogResult diaresult = MessageBox.Show("当前数据是否已保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (diaresult != DialogResult.Yes)
                {
                    e.Cancel = true;
                }
    }
    ---------------------------------------
    我觉得提示下就可以了 不用判断数据是否更改那么麻烦
      

  2.   

    if (MessageBox.Show("您还没有保存数据,是否要保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.Yes)
    {
     //要写保存的代码
    }else
    {
      e.Cancel = true;}
      

  3.   

    1.响应窗体上的Closing事件
    private void FormMain_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
    DialogResult dr = MessageBox.Show(this,"你确定要退出吗?","退出系统通知",MessageBoxButtons.YesNo, MessageBoxIcon.Question);
    if (dr!=DialogResult.Yes) 
    {
       e.Cancel=true;
    }
    }
    2.应该设一个公共参数 bool Modified
    每当修改过一个地方就将这个值设为 true