C# Winforms Designer支持选择类型和控件
我有一个BindingSource的子类,它只是为了满足我们的特殊需要而对它进行了一点扩展,我想为VS2008设计器提供支持 我有三个属性,我希望获得设计器的支持,其中两个属性应设置为表单上的其他C# Winforms Designer支持选择类型和控件,c#,winforms,visual-studio-2008,windows-forms-designer,C#,Winforms,Visual Studio 2008,Windows Forms Designer,我有一个BindingSource的子类,它只是为了满足我们的特殊需要而对它进行了一点扩展,我想为VS2008设计器提供支持 我有三个属性,我希望获得设计器的支持,其中两个属性应设置为表单上的其他控件s,一个属性应设置为类型 在den Designer中显示它们以及将默认值设置为null非常容易,但如何让VS选择可用控件(理想情况下仅为所需类型)和或类型s 这是到目前为止的属性代码,欢迎提供任何提示,因为我不知道VS Designer支持的任何内容 public class BindingSou
控件
s,一个属性应设置为类型
在den Designer中显示它们以及将默认值设置为null非常容易,但如何让VS选择可用控件(理想情况下仅为所需类型)和或类型
s
这是到目前为止的属性代码,欢迎提供任何提示,因为我不知道VS Designer支持的任何内容
public class BindingSourceEx
: BindingSource
{
[DisplayName("DataSourceType")]
[Description("Sets the type to bind to.")]
public Type DataSourceType
{
get;
set;
}
[DisplayName("BindingNavigator")]
[DefaultValue(null)]
[Description("Sets the BindingNavigatorQ1 to use.")]
public BindingNavigatorEx BindingNavigator
{
get;
set;
}
[DisplayName("DataGridView")]
[DefaultValue(null)]
[Description("Sets the DataGridViewQ1 to use.")]
public DataGridViewEx DataGridView
{
get;
set;
}
}
设计器的默认实现已经负责BindingNavigator和DataGridView属性。属性网格使用组合框来选择与控件类型匹配的控件。例如,您必须在表单上删除BindingNavigatorQ1控件,才能在组合框中获得除None之外的任何内容
Type属性更难,至少需要一个TypeConverter在类型值和字符串之间进行转换。不太确定这是否应该是一个可设计的属性,您要绑定的类型在设计时肯定还不存在,只有在运行时所有程序集都被编译时才存在。您能为我提供一个这样的类型转换器的示例代码吗?我喜欢编写类型转换器,就像看牙医一样。只有当它完成后才有乐趣。特别是在这种情况下,在设计时对类型进行根化。谷歌很好用。。。