如:给PropertyGrid直接绑定一个控件时 ,其中有些属性项为单选框 或是 下拉列表等直接把加载有数据的类赋给PropertyGrid时 ,显示的所有属性项都是textBox的怎么让 数据类中比如是 bool型的  在propertyGrid中为checkBox的选择框   
      
还有就是比如一个参数有 几种类型  数据类中 以  1、2、3的数字来表示类型  ,propertyGrid中 怎么来用下拉列表框显示下拉项  a  、 b、c 对应 着 1、2、3.

解决方案 »

  1.   

    很久没写组件了,具体记不清了,只能提供几个相关的类,你查下。你需要的大部分信息应该在 System.ComponentModel 命名空间下面:指定一个属性 (Property) 或事件是否应显示在“属性”窗口中。
    System.ComponentModel.Browsable指定用于为组件实现设计时服务的类。
    System.ComponentModel.Designer指定用来更改属性的编辑器。无法继承此类。
    System.ComponentModel.Editor指定某个属性或方法在编辑器中可以查看。无法继承此类。
    System.ComponentModel.EditorBrowsable...
      

  2.   

    多谢 qqamoon   提供方向  我看下 
      

  3.   


      这是 WinForm 中提供的编辑器列表
      System.Drawing.Design.UITypeEditor
        System.ComponentModel.Design.BinaryEditor
        System.ComponentModel.Design.CollectionEditor
        System.ComponentModel.Design.DateTimeEditor
        System.ComponentModel.Design.MultilineStringEditor
        System.ComponentModel.Design.ObjectSelectorEditor
        System.Drawing.Design.ColorEditor
        System.Drawing.Design.ContentAlignmentEditor
        System.Drawing.Design.CursorEditor
        System.Drawing.Design.FontEditor
        System.Drawing.Design.FontNameEditor
        System.Drawing.Design.IconEditor
        System.Drawing.Design.ImageEditor
        System.Messaging.Design.QueuePathEditor
        System.Web.UI.Design.ConnectionStringEditor
        System.Web.UI.Design.DataBindingCollectionEditor
        System.Web.UI.Design.ExpressionsCollectionEditor
        System.Web.UI.Design.UrlEditor
        System.Web.UI.Design.WebControls.DataControlFieldTypeEditor
        System.Web.UI.Design.WebControls.DataGridColumnCollectionEditor
        System.Web.UI.Design.WebControls.DataPagerFieldTypeEditor
        System.Web.UI.Design.WebControls.MenuBindingsEditor
        System.Web.UI.Design.WebControls.MenuItemCollectionEditor
        System.Web.UI.Design.WebControls.ParameterCollectionEditor
        System.Web.UI.Design.WebControls.RegexTypeEditor
        System.Web.UI.Design.WebControls.TreeNodeCollectionEditor
        System.Web.UI.Design.WebControls.TreeViewBindingsEditor
        System.Web.UI.Design.XmlFileEditor
        System.Windows.Forms.Design.AnchorEditor
        System.Windows.Forms.Design.BorderSidesEditor
        System.Windows.Forms.Design.DockEditor
        System.Windows.Forms.Design.FileNameEditor
        System.Windows.Forms.Design.FolderNameEditor
        System.Windows.Forms.Design.ShortcutKeysEditor
        System.Workflow.ComponentModel.Design.BindUITypeEditor
        System.Workflow.ComponentModel.Design.TypeBrowserEditor
    // 示例
    // MultilineStringEditor
    [Editor(typeof(MultilineStringEditor), typeof(UITypeEditor))]
    public string[] Lines
    {
        get;
        set;
    }// ImageEditor
    [Editor(typeof(ImageEditor), typeof(UITypeEditor))]
    public Image Image
    {
        get;
        set;
    }// 自动加载编辑器
    [DefaultValue(BorderStyle.None)]
    public BorderStyle BorderStyle
    {
        get;
        set;
    }
      

  4.   

    最简单的方法是用枚举给属性赋值,比如:
    False => 0,
    True => 1
    PropertyGrid能侦测枚举类型,并显示下拉列表(选择项为“False”,“True”),