使用三个数据源,displaymember和valuemember创建用户控件

时间:2012-02-27 16:32:36

标签: c# .net winforms user-controls datasource

我想创建一个自定义用户控件,我需要在设计时获得三个数据源,显示成员和值成员。

我可以使用以下代码获取数据源:

private BindingSource dataSource;

[TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design")]
[Category("Data")]
[RefreshProperties(RefreshProperties.Repaint)]
[AttributeProvider(typeof(IListSource))]
[DefaultValue(null)]
public BindingSource DataSource
{
    get
    {
        return this.dataSource;
    }
    set
    {
        if (this.dataSource != value)
        {
            this.dataSource = value;
        }
    }
}

我不知道我必须如何获得相关数据源的值成员和显示成员

2 个答案:

答案 0 :(得分:1)

这是一个关于如何做你要求的教程

http://msdn.microsoft.com/en-us/library/ms233787.aspx

答案 1 :(得分:0)

我有一个支持Lookup Databinding而不是自定义控件的属性,这里是代码:

    private System.Windows.Forms.ListBox dropdownsource = new ListBox();

    [Category("Data")]
    [Browsable(true)]
    [DefaultValue(null)]
    [System.ComponentModel.Bindable(true)]
    [TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design")]
    [Editor("System.Windows.Forms.Design.DataSourceListEditor, System.Design", typeof(System.Drawing.Design.UITypeEditor))]
    public object DataSource
    {
        get
        {
            return this.dropdownsource.DataSource;
        }
        set
        {
            if (this.dropdownsource.DataSource != value)
                this.dropdownsource.DataSource = value;
        }
    }