none
C# winform的PropertyGrid控件,如何让绑定的对象属性隐藏? RRS feed

  • 问题

  • System.Windows.Forms.TextBox textbox1 = new TextBox();  PropertyGrid.SelectedObject = textbox1; 但是我想让textbox的Name属性隐藏,不让用户编辑,这里的TextBox控件是系统提供的,我不能用[Browable(false)]Attribute,那我该如何实现呢?
    2011年12月15日 12:52

答案

  • System.Windows.Forms.TextBox textbox1 = new TextBox();  PropertyGrid.SelectedObject = textbox1; 但是我想让textbox的Name属性隐藏,不让用户编辑,这里的TextBox控件是系统提供的,我不能用[Browable(false)]Attribute,那我该如何实现呢?


    你自己创建一个类,然后继承TextBox,最后加上[Browable(false)]属性即可。比如:

     public class MyTextBox : TextBox
            {
                [Browsable(false)]
                public override string Text
                {
                    get
                    {
                        return base.Text;
                    }
                    set
                    {
                        base.Text = value;
                    }
                }
            }

       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2011年12月16日 3:12
    版主

全部回复

  • System.Windows.Forms.TextBox textbox1 = new TextBox();  PropertyGrid.SelectedObject = textbox1; 但是我想让textbox的Name属性隐藏,不让用户编辑,这里的TextBox控件是系统提供的,我不能用[Browable(false)]Attribute,那我该如何实现呢?


    你自己创建一个类,然后继承TextBox,最后加上[Browable(false)]属性即可。比如:

     public class MyTextBox : TextBox
            {
                [Browsable(false)]
                public override string Text
                {
                    get
                    {
                        return base.Text;
                    }
                    set
                    {
                        base.Text = value;
                    }
                }
            }

       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2011年12月16日 3:12
    版主
  • 要是想要隐藏的Property很多呢,一个一个的加但有几个隐藏不了?还有一个父类一个子类,我要只显示子类跟父类不同的属性怎么做?
    2014年3月6日 1:49