c#winform程序。 怎样在关闭formA时判断formA中的控件上的值是否被修改过? 注:前提是界面上有好多textbo
展开全部
比较笨的方法就是写每个textbox的TextChange方法,定义一变量,有变化时修改状态,到时在关闭的时候判断下变量就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说的没错,你用一个变量来保存更改的值,在重写form的closing事件,在里面做个判断就可以了,菜鸟的飘过!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义个bool flag=false;
给控件change事件加上 flag=true;
缺点就是删了一个 在写上同一个值 值一样 也算修改了
我没别的办法了。嘿嘿。我也菜鸟
给控件change事件加上 flag=true;
缺点就是删了一个 在写上同一个值 值一样 也算修改了
我没别的办法了。嘿嘿。我也菜鸟
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public partial class formA : Form
{
public formA()
{
InitializeComponent();
this.lod();
}
List<Control> bl=new List<Control>();//用来装更改过数据TextBox
private void lod(){ //给窗体中的TextBox添加TextChanged事件处理
foreach(Control c in this.Controls){
if(c is TextBox){
c.TextChanged+=delegate {
foreach(Control c1 in bl){
if(c1==c)return;
}
bl.Add(c);
};
}
}
}
void formAFormClosing(object sender, FormClosingEventArgs e)
{
if(bl.Count>0){
string str="";
foreach(Control c in bl)str+=c.Name+",\n";
MessageBox.Show("以下控件发生更改:\n"+str);
}
}
}
{
public formA()
{
InitializeComponent();
this.lod();
}
List<Control> bl=new List<Control>();//用来装更改过数据TextBox
private void lod(){ //给窗体中的TextBox添加TextChanged事件处理
foreach(Control c in this.Controls){
if(c is TextBox){
c.TextChanged+=delegate {
foreach(Control c1 in bl){
if(c1==c)return;
}
bl.Add(c);
};
}
}
}
void formAFormClosing(object sender, FormClosingEventArgs e)
{
if(bl.Count>0){
string str="";
foreach(Control c in bl)str+=c.Name+",\n";
MessageBox.Show("以下控件发生更改:\n"+str);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询