【发布时间】:2017-10-07 12:50:53
【问题描述】:
我创建了一个UserControl,其属性名为DataSource。代码是这样的:
public partial class MyUserControl : UserControl
{
public MyUserControl()
{
InitializeComponent();
}
private object MyDataSource;
[Browsable(true)]
[System.ComponentModel.Bindable(true)]
[TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[Editor("System.Windows.Forms.Design.DataSourceListEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public object DataSource
{
get
{
return MyDataSource;
}
set
{
if (MyDataSource != value)
MyDataSource = value;
}
}
}
现在我可以在设计时从下拉列表中选择DataSource 属性的值,如图所示:
现在我真正想要的是另一个名为 DataColumn 的属性,当 DataSource 已设置为 DataTable 时,用户可以在设计时从属性面板的下拉列表中选择该 DataTable 的列之一“ DataColumn”属性值。显然当DataSource发生变化时,DataColumn的下拉列表中的值也必须相应地变化
【问题讨论】:
标签: c# .net winforms user-controls windows-forms-designer