自己写的控件类,继承自ComboBox类,实例化时我生成了另外一个子控件,那我在判断这控件是否获得焦点时不但要看控件自己是否Focused,还要看那个子控件是否也是Focused:但为了让引用的人不用考虑子控件的情况,我必须重写它的Focused属性,但编译时出现类似"不能Override Focused"的错误,请问高手如何做?谢谢!

解决方案 »

  1.   

    public new Focused
    {
       get{return base.Focused;}
       set{base.Focused = value;}
    }
      

  2.   

    楼上的朋友,我的意思可能没有表达清楚:我的类为ComboBoxEx,实例化此类时我不但实例化了一这个类的实例comboBoxEx1,同时还实例化了另一个子控件listBox1,目的是当comboBoxEx1开始Drop时用listBox1盖住comboBoxEx1的下拉部分,以显示更杂的数据源。listBox1和comboBoxEx1同时Add到放置comboBoxEx1的父控件上,但引用的人并不知道,他一般会认为listBox1是comboBoxEx1的下拉部分。
      现在的问题是我要在此控件的Leave事件引发时做一些处理,比如Text是否空等等。但双并不是单纯的判断comboBoxEx1是否是Focused,还要判断listBox1是否是Focused,只有这两个控件的Focused都为False时才设置此控件的Focused属性为false--不知我讲的是否明白?
      这种情况下base.Focused应该不能直接拿来用吧,继续请教?
      

  3.   

    你的意思是不是这样?if(!base.comboBoxEx1.Focused && !this.listBox1.Focused)
    {
       base.comboBoxEx1.Focused = false;
    }