为什么绑定checkedListBox在winform中需要这么多时间?

时间:2014-09-03 06:42:57

标签: c# winforms

I Creative Sample Project并将checkedListBox DataSource测试为Binding,

并且发现它花费了大约0.03秒的时间。

我有100个控件,所以如何减少绑定时间。

这是我的Sameple代码。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        List<clsListItem> items = new List<clsListItem>();

                  Stopwatch watch = new Stopwatch();
        items.Add( new clsListItem(){ Value= "01", Text=  "NYY"});
        items.Add(new clsListItem() { Value = "02", Text = "OAK" });
        items.Add(new clsListItem() { Value = "03", Text = "BAL" });

            watch.Start();
            ((ListBox)checkedListBox1).DataSource = items;
            ((ListBox)checkedListBox1).DisplayMember = "Text";
            ((ListBox)checkedListBox1).ValueMember = "Value";
            watch.Stop();
            TimeSpan tt = watch.Elapsed;
            MessageBox.Show(tt.TotalSeconds.ToString());



    }
}

public class clsListItem {

    public string Text { get; set; }
    public string Value { get; set; }
}

1 个答案:

答案 0 :(得分:0)

如果可能,添加到对象集合而不是绑定到DataSource:((ListBox)checkedListBox1).Items.AddRange(items.ToArray());应该在0.0005到0.0007秒左右。