none
C# 如何去除控件外围的聚焦框呢? RRS feed

  • 问题

  • 使用C#.net如何去除控件外面的聚焦框呢》我查msdn知道,一个受保护的属性ShowFocusCues可以获取一个值,该值指示控件是否应显示聚焦框,但是我改怎么样让这个值为false而不为true呢。不能够赋值什么的。谢谢。
    2011年4月12日 5:05

答案

  • 以Button为例:

       public  class MyButton : System.Windows.Forms.Button
        {
            protected override bool ShowFocusCues
            {
                get
                {
                    return false;
                }
            }

        }

    只需要在你自己定义的Button里重写一个ShowFocusCues属性并return false 就会不显示聚焦框。其他也是如此

    • 已标记为答案 pucx 2011年4月13日 9:56
    2011年4月12日 7:26
  • 你好

     你得自己写一个控件,比如button。这是完整的代码。

    class CustomButton : System.Windows.Forms.Button 
      { 
        private bool _DisplayFocusCues = true; 
        protected override bool ShowFocusCues 
        { 
          get 
          { 
            return _DisplayFocusCues; 
          } 
        } 
        public bool DisplayFocusCues 
        { 
          get 
          { 
            return _DisplayFocusCues; 
          } 
          set 
          { 
            _DisplayFocusCues = value; 
          } 
        } 
      }
    

    然后你用的时候可以在属性窗口直接设置这个属性。

     

    希望对你有帮助。


    Cookie Luo[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 pucx 2011年4月13日 9:56
    2011年4月13日 8:02

全部回复

  •     // 获取一个值,该值指示控件是否应显示聚焦框。
         
    // 如果控件应显示聚焦框,则为 true;否则为 false。
        protected override bool ShowFocusCues
         {
            
    get
             {
                
    // 不显示聚焦框
                return false;
             }
         }  

    重写一下ShowFocusCues方法,并另返回值永远为假,

    2011年4月12日 5:39
  • 但是这个属性该怎么使用呢?怎么应用到程序中呢?比如应用到窗体或者某个控件中了,谢谢。
    2011年4月12日 6:12
  • 以Button为例:

       public  class MyButton : System.Windows.Forms.Button
        {
            protected override bool ShowFocusCues
            {
                get
                {
                    return false;
                }
            }

        }

    只需要在你自己定义的Button里重写一个ShowFocusCues属性并return false 就会不显示聚焦框。其他也是如此

    • 已标记为答案 pucx 2011年4月13日 9:56
    2011年4月12日 7:26
  • 你好

     你得自己写一个控件,比如button。这是完整的代码。

    class CustomButton : System.Windows.Forms.Button 
      { 
        private bool _DisplayFocusCues = true; 
        protected override bool ShowFocusCues 
        { 
          get 
          { 
            return _DisplayFocusCues; 
          } 
        } 
        public bool DisplayFocusCues 
        { 
          get 
          { 
            return _DisplayFocusCues; 
          } 
          set 
          { 
            _DisplayFocusCues = value; 
          } 
        } 
      }
    

    然后你用的时候可以在属性窗口直接设置这个属性。

     

    希望对你有帮助。


    Cookie Luo[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 pucx 2011年4月13日 9:56
    2011年4月13日 8:02