且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

C# WinForm 判断窗体控件是否修改过

更新时间:2022-08-21 21:25:44

本文转载:http://www.cnblogs.com/LinFx/archive/2011/12/23/2299895.html

 

1.自定义控件, 和接口

C# WinForm 判断窗体控件是否修改过
    interface IModify
{
bool IsModified { get; }
}

class TextBoxEx : TextBox, IModify
{
private bool isModified = false;

public bool IsModified
{
get { return isModified; }
}

protected override void OnTextChanged(EventArgs e)
{
this.isModified = true;
base.OnTextChanged(e);
}
}
C# WinForm 判断窗体控件是否修改过

2.使用方法

C# WinForm 判断窗体控件是否修改过
        private void button1_Click(object sender, EventArgs e)
{
var b = IsModify(this);
Text = b.ToString();
}

private bool IsModify(Control ctrl)
{
foreach (Control control in ctrl.Controls)
{
if (control.Controls.Count > 0)
return IsModify(control);
if (control is IModify)
{
if (((IModify)control).IsModified)
return true;
}
}
return false;
}
C# WinForm 判断窗体控件是否修改过