单据上有Textbox、Combobox、datagridview等可编辑控件,当修改值时,保存按钮可用,若不保存关闭则提示。请问如何设置?

解决方案 »

  1.   

    每个控件添加修改事件,然后用bool记录是否修改或者保存初始化的值关闭时遍历控件检查值是否修改
      

  2.   

    1、Textbox、Combobox、datagridview 改变的时候,设置保存按钮可用。
    2、定义一个BOOL修改标识。当有修改发生的时候BOOL=TRUE.保存后BOOL=FALSE。退出的时候判断BOOL的值。
       
      

  3.   

    就是设置一个标记,改动了标记就变为true,就让保存
      

  4.   

    建 一个 bool 变量  默认 False
    然后在 写三个事件 当 Textbox、Combobox、datagridview 
    值发生改变后触发将bool 改成True。
    最后 在 确定 和 取消 按钮 的单击事件 中判断
    bool 是否为 Ture  
      

  5.   

     
    //刚开始并未保存
            static bool flag = false;        //保存
            private void button2_Click(object sender, EventArgs e)
            {
                flag = true;
                //处理别的事务
            }        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                //判断你是否保存过
                if (!flag)
                {
                    DialogResult dr = MessageBox.Show("您保尚未保存,现在保存吗?", "是否保存", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                    //如果你要确定要保存
                    if (dr == DialogResult.Cancel)
                    {
                        e.Cancel = true;
                    }
                    else if (dr == DialogResult.OK)
                    {
                        //开始保存,并且处理别的事务
                    }
                    
                }
                
            }
      

  6.   

    采用设置Private Bool是可以,那我要在每个改变控件的事件中都要写改变bool值的语句,那样很多控件改变,设置就太麻烦了,还有其他好的办法吗?
      

  7.   

    用bool太麻烦了  这得写多少个事件啊
    我建议是关闭的时候将页面的数据放入一个datatable中跟从数据库查出来的数据进行比较 如果有不一样的提示保存
      

  8.   

    定义上boolTextbox_textcheng、Combobox_textcheng、datagridview_celledit中加bool
     =true
    button_click中加bool=false这也不多呀,又不用你写方法事件
      

  9.   

    你有多少个事件就得写多少个bool =false  
      

  10.   

    开始时让 btnOK.Enable = false;然后让那几个需要修改的空间的Changed事件指向
    private void OnControlValueChanged(object sender, EventArgs e)
    {
        btnOK.Enabled = true;        
    }
      

  11.   

    还是要将TextBox ComMoBox DataGridView CheckBox等有值改变事件都要写上代码。那样就要加上很多事件了? 
      

  12.   

    datagridview有用数据源吗>>  dataset OR datatable有一个方法.ds.HasChange dt.GetChanges()