gpt4 book ai didi

c# - 用户控件的数据源

转载 作者:太空狗 更新时间:2023-10-29 19:40:16 25 4
gpt4 key购买 nike

我正在构建一个用户控件。目前它由一个文本框和一个按钮组成——作为一种学习体验。这将用作更有用控件的基础。

我想添加一个DataSource、显示成员和ValueMember。
这是我的数据源代码。它将显示在属性编辑器中,但被禁用并变灰。我错过了什么?

    private object MyDataSource;

[Browsable(true)]
[TypeConverter("System.Windows.Forms.Design.DataSourceConverter")]
[System.ComponentModel.Bindable(true)]
public object DataSource
{
get
{
return MyDataSource;
}
set
{
if (MyDataSource != value)
MyDataSource = value;
}
}

最佳答案

一个更简单的选择可能是改用属性提供程序:

[AttributeProvider(typeof(IListSource))]

您可以尝试使用程序集限定名称吗?并指定编辑器?

[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")]

实际上,您可以通过指定程序集将其缩写为与版本无关:

[TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design")]
[Editor("System.Windows.Forms.Design.DataSourceListEditor, System.Design", typeof(UITypeEditor))]

关于c# - 用户控件的数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/478278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com