例如,我做了个textbox基类,在keydown事件中加入了按回车转后发送一个tab命令的代码。
我在某个form中用了该控件。
1、在keydown为回车时想做一些事情,但是又不想让keydown发送tab命令。如何实现?
2、用 -=的方法后keydown整个事件都不相应了是怎么回事?
3、-=的事件操作符号到底有什么用?请高手指教,在线等候!

解决方案 »

  1.   

    不要用事件,通过继承重写 OnKeyDown 方法就可以了
      

  2.   

    -=可以用的!
    base.Keydown -= base.KeyEventHandler;
    然后再加你自己的就可以了.
    我用过.
      

  3.   

    class TextBoxEx :TextBox
    {
        protected override void OnKeyDown ( KeyEventArgs e)
        {
            if(判断如果按下的不是{tab})
            {
                 base.OnKeyDown (e);
            }
         }
    }
      

  4.   

    再继承一个然后用overide是可以的,但我现在是直接用的该控件的一个实例,所以不能象各位所说的那样做。现在想到一个办法就是在mytextbox中增加一个属性EnterToTab,如果设置成真那么允许enter到tab的转发,否则不执行。这样mytextbox就支持用户根据需要来选择相应的方法。有人能详细的解释一下 -= 的含义吗?有什么使用的限制?
      

  5.   

    定义个属性变量,想用tab健就置为false,不用就置true