怎样判断Winform窗体内的值是否变化
从列表右键单击编辑,跳转到编辑界面
点击提交时,怎样判断所有的控件内的值是否改变过,有没有一种简单的方法判断所有的
------解决方案--------------------有一个简单的办法,把页面的所有值组合成一个字符串,页面load完的组合字符串串跟提交时的串进行比较,一样就没改页面,不一样就改动了。
combobox的值可以用selectindex也可以用selecttext,checkbox可以用true或false,radiobutton同理
------解决方案--------------------无论如何都得要逐个对比吧, 楼上写字符串的方式其实也是逐个对比了
------解决方案--------------------定义一个Bool类型的IsChanged,初始值为false,当form中有控件的值被改变时把IsChanged置为true
------解决方案--------------------修改之前复制一份Mode数据;
属性改变会触发这个委托事件!
可以定义一个bool行的变量去处理!
public class TestData : INotifyPropertyChanged
{
public void INotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
private String ss;
public String SS
{
get
{
return ss;
}
set
{
if (value != ss)
{
Validator.ValidateProperty(value, new ValidationContext(this, null, null) { MemberName = "SS" });
ss = value;
INotifyPropertyChanged("SS");
}
}