text.focus();
直接return 呀

解决方案 »

  1.   

    那比较麻烦,离开的时候来个对话框提示,然后把FOCUS定位到TEXTBOX就可以了;最后统一检测比较好
      

  2.   

    DannyChen () 兄,
    如果你在textbox_leave()
    事件响应中,加入下面的语句能不能达到你的要求{
     if ( textbox数据不合法?true:false)
     {
       textbox.Focus();
       return;            -->直接return,不做下面的事情
     }
     ... //下面是正常的操作
    }
    这样能不能达到效果
      

  3.   

    给你一个提示
    定义一个私有变量
    在textbox_leave()根据验证结果对该变量付值
    而在
    listview_click()、tabControl_SelectedIndexChanged()、
    等等事件中先判断该值是不是通过验证
    是则继续
    否则退出事件
      

  4.   

    请大家看清楚点:包括listview_click()、tabControl_SelectedIndexChanged()
    我做了focus()后同样会激发listview_click()、tabControl_SelectedIndexChanged()
      

  5.   

    to: dragontt(龙人) 
    你说的我也想过,虽然可以,但用起来很麻烦
      

  6.   

    如果都不行的话,给个简单方法,
    在你的类里面加个私有标记
    private bool notDoIT=false;
    然后在你focus之前把  notDoIT=true;
    最后你把实现的那几个事件响应listview_click()、tabControl_SelectedIndexChanged()
    里面都加上一句话:if (notDoIT==true) return;
    这样你满意了吧!?
      

  7.   

    那就将当数据不合法时去掉listview_click()、tabControl_SelectedIndexChanged()事件,试试看。用
    this.listview.Click -= new System.EventHandler(this.listview_click());
     this.tabControl1.SelectedIndexChanged -= new System.EventHandler(this.tabControl1_SelectedIndexChanged);试试看,行不行!
        
      

  8.   

    写错了,第一个
    this.listview.Click -= new System.EventHandler(this.listview_click);
      

  9.   

    to:Tigatron(Illidian)
    不关Validating的事吧?你做完Validating同样会激发listview_click()、tabControl_SelectedIndexChanged()的哦谢谢大家回答
      

  10.   

    To DannyChen() 
       不好意思,我只能想到这个办法了
    如果有更好的办法,也请通知我
    :)
      

  11.   

    to: tuzi98(兔子) 
    但在去掉事件后,下次不就用不了这个事件了?
      

  12.   

    tuzi98(兔子) 
    的思路也有道理,但是需要动态添加事件处理函数
      

  13.   

    撤消掉了,在text.focus()后,再加上嘛!
      

  14.   

    同意 dragontt(龙人) 的方法,似乎麻烦但很有效to tuzi98(兔子):
    我曾经也碰到过类似版主所提的问题,最初的解决方法也如你所提议的,但是实际结果是很不稳定,有时候程序运行久一点,甚至会出现死循环,后来只好改为用布尔变量来控制,虽然麻烦但绝对有效。
      

  15.   

    我以前做的是每个控件严正,最后再审核,不符合条件的进行鼠标定位
    如果是WEB可以进行CSS控制,我觉得这种强制每个控件都要求TEXT——LEAVE判断不好
      

  16.   

    还有,无论我怎么做,tabcontrol会从这页跳到另外一页,我如何可以设置不让它跳到另外一页呢?