一个TEXTBOX有2个方法  textchanged 和 lostfouse
在textchanged方法进行弹个对话框窗  这样就会触发lostfouse 
能不能textchanged的方法中弹窗不触发lostfousetextchanged  方法 {//这里会触发lostFouse
using (C11020013 form = new C11020013())
{
}}lostFouse方法 
{
 
// do... something }

解决方案 »

  1.   


    this.Code.LostFocus -= this.Code_LostFocus;
    using (C11020013 form = new C11020013())
    {}
    this.Code.LostFocus += this.Code_LostFocus;
    在changed方法的弹窗前后  对失去焦点事件进行取消无法解决这个问题
      

  2.   

    把loseFouse方法的函数体屏蔽掉 
      

  3.   

    loseFouse  还有别的业务代码呢
      

  4.   

    增加一个标识字段。
    private bool isTextChange = false;textchanged  方法
    {
    isTextChange = true;
    using (C11020013 form = new C11020013())
    {}
    isTextChange = false;
    }lostFouse方法 
    {
    if(!isTextChange)
    {
    //做你的事。
    }
    }
      

  5.   

    窗体显示之后再把焦点拉回来(比如:show()之后)
      

  6.   


    输入一个值  失去焦点的时候  根据数据源来验证输入的合法性
    WINFORM数据源控件其实就可以了  不过对不起  人家要求就是手输  大规模数据操作的时候 人家根本无暇去按数据源下拉