A为TextBox,B为Button,按下Button能否知道A是前一个控件?

解决方案 »

  1.   

    看看用sender看看行不,形如:當用到object sender時
    System.Web.UI.WebControls.WebControl webctl=sender as WebControl
      

  2.   

    楼主问问题的范围是?WEB Control or WinForm Control ???
      

  3.   

    sender只能拿到当前的控件.不能拿到前一个控件.
      

  4.   

    this.GetNextControl(someControl,false);
      

  5.   

    Control.GetNextControl 方法  [C#]
    按照子控件的 Tab 键顺序向前或向后检索下一个控件。
    [C#]
    public Control GetNextControl(
       Control ctl,
       bool forward
    );
    参数
    ctl 
    从其上开始搜索的 Control。 
    forward 
    如果是 true,则按 Tab 键顺序向前搜索;如果是 false 则向后搜索。 
    返回值
    Tab 键顺序指定的下一个 Control。
      

  6.   

    按下BUTTON我用GetNextControl方法取到的控件中, 怎么样知道是哪一个是按下BUTTON前移开焦点的控件呢?
      

  7.   

    几乎所有的控件都有一个事件:Validating,你可以在这个事件写代码,比如一个文本框里的验证,当在其中输入了无效的数据时可以在这个事件里写代码来使用户接着输入,除非取消输入.我想你可能要的是这个事件.
      

  8.   

    谢谢大家,不过问题还是没有解决。To: jiezhi(風依舊) 
    如果是每个控件的话那不是很繁琐吗?To: hbxtlhx(下着春雨的天)
    但是还是没有办法得到失去焦点的控件呀,如果说一个BUTTON被按下后,取出它的前一个失去焦点的控件这个方法应该在Button的Click事件里写,而不是在前一个控件验证时写吧。
      

  9.   

    你可以用ActiveControl来得到当前的窗体上的活动控件,也就是说在你点击你的按纽使它成为活动前是可以通过ActiveControl找到活动控件的,但是有一个问题,就是当你怎么在点你的按纽前知道要点这个按纽了,或者,在你点按纽时能记住在点它之前的活动的控件,这样才可能实现你的要求.
      

  10.   

    你可以用ActiveControl来得到当前的窗体上的活动控件,也就是说在你点击你的按纽使它成为活动前是可以通过ActiveControl找到活动控件的,但是有一个问题,就是当你怎么在点你的按纽前知道要点这个按纽了,或者,在你点按纽时能记住在点它之前的活动的控件,这样才可能实现你的要求.
      

  11.   

    原来CausesValidation就能实现我想要的,谢谢大家了。