请问,这种控制执行的功能,如何实现?
private void button1_Click(object sender, EventArgs e)
         {
           ...
           ...//textBox3的文本发生变化
           ...
           ...
         }
private void textBox3_TextChanged(object sender, EventArgs e)
     {
      .....代码执行
     }
我有个程序
问题:button1_Click事件引发了textBox3的文本发生变化,textBox3的文本一旦发生变化,就开始执行textBox3_TextChanged函数了,此时button1_Click未必已经执行完,从而造成逻辑上的错误,请问,如何使得button1_Click执行完之后,才执行textBox3_TextChanged函数?
------解决方案--------------------加一个布尔变量进行控制
button1_Click的代码执行完后置为true
在textBox3_TextChanged里只有满足这个条件才允许执行下面的代码
------解决方案--------------------其实,你完全可以吧textBox3_TextChanged 中的代码执行 抽象成一个方法
然后在按钮点击事件中调用这个方法,也就是文本变化之后,当然了,也可以整体放在点击事件中
而不是像你说的,点击事件触发文本变化事件,那样只能让逻辑混乱不堪
------解决方案--------------------
------解决方案--------------------
private bool xm已完成=false;
private void button1_Click(object sender, EventArgs e)
 {
 xml已完成=false;
 ...//textBox3的文本发生变化
 ...
 xml已完成=true;
 textBox3_TextChanged(null,null);
 }
private void textBox3_TextChanged(object sender, EventArgs e)
 {
if(xml已完成)
{
 .....代码执行
}
 }
------解决方案--------------------哦,更正一下,是 xm已完成=false;
误写成 xml已完成
------解决方案--------------------C# code
bool a= true;
  private void button1_Click(object sender, EventArgs e)
  {
  a = false;
  ...//textBox3的文本发生变化
  a = true;
  textBox3_TextChanged(textBox3,e);
  }
  private void textBox3_TextChanged(object sender, EventArgs e)
  {
   if(a)
    //code
  }