簡體   English   中英

Winforms ComboBox用戶控件綁定

[英]Winforms ComboBox User Control Binding

我有一個從Combobox控件繼承的用戶控件。 我想將數據綁定到用戶控件的構造函數中。 但是,當我將其添加到表單並運行項目時,它會顯示重復的項目。

當我將控件添加到Winform時,它在表單的Designer文件中添加項,而當我運行項目時,它又再次添加到用戶控件的構造函數中。

public partial class CheckSeriesBox : ComboBox
{
    private static List<string> CheckSeries;

    public CheckSeriesBox()
    {
        InitializeComponent();

        CheckSeries = new List<string>();
        SetCheckSeries();

        this.Items.AddRange(CheckSeries.ToArray());
        this.SelectedIndex = 0;
    }

    public static List<string> SetCheckSeries()
    {
        CheckSeries.Add("A");
        CheckSeries.Add("B");
    }
}

http://social.msdn.microsoft.com/forums/vstudio/zh-CN/3e35b534-7d3f-4832-8859-b5cb838bd62a/extended-combobox-adds-items-twice

public partial class CheckSeriesBox : ComboBox
{
    private static List<string> CheckSeries;

    public CheckSeriesBox()
    {
        InitializeComponent();

        CheckSeries = new List<string>();
        SetCheckSeries();

        if (DesignMode)
        {
             this.Items.AddRange(CheckSeries.ToArray());
        }
    }

    public static List<string> SetCheckSeries()
    {
        CheckSeries.Add("A");
        CheckSeries.Add("B");
    }

    protected new bool DesignMode
    {
        get
        {
            if (base.DesignMode)
            {
                return true;
            }
            else
            {
                Control parent = this.Parent;
                while ((parent != null))
                {
                    System.ComponentModel.ISite site = parent.Site;
                    if ((site != null) && site.DesignMode)
                    {
                        return true;
                    }
                    parent = parent.Parent;
                }
                return false;
            }
        }
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM