我自己要写一个用户自定义控件。其中有一个属性"BindControl"。这个属性将列出当前窗体(包含我这个自定义控件的窗体)中的所有控件名字。然后让用户去选择。
就好象ERROR PROVIDER里的ContainerControl属性一样。点击这个属性后,在出现的下拉列表里,将列出窗体中所包含的控件的名字。
我不知道这个属性该定义成什么类型的。
我用String数组试过,结果没有出现下拉列表。而是把所有数组中的元素全部列了出来。有人能给我一点思路么?

解决方案 »

  1.   

    你描述的是需要你的空件在ide设计器内的功能吗?还是运行时的功能?
      

  2.   

    string[] controlNames = new string[]{"aaa", "bbb", "ccc"};
    this.comboBox.DataSource = controlNames;这样可以的
      

  3.   

    我就是想实现在设计时(不是在代码运行时)和ERROR PROVIDER的ContainerControl属性一样的功能。在设计时,Error Provider的这个属性能列出窗口中控件的名字。请问,我在写用户自定义控件的时候,需要把这个属性定义成什么类型才能实现这个效果?我知道可以通过this.Container.Components来一个一个的获取控件,并且也可以通过this.Container.Components.Site.Name来获得控件的名字。我现在就是不知道怎么样让这些控件的名字以下拉列表的形式显示在属性列表里供用户选择。谢谢大家!
      

  4.   

    与你的属性类型无关。请参阅:
    TypeConverter
      

  5.   

    另外,ErrorProvider有些特殊,请参阅:
    ProvidePropertyAttribute