首页 > 解决方案 > 为什么将项目添加到组合框时,值是相同的并且不会通过循环增加?

问题描述

ComboboxItem boxitem = new ComboboxItem();

        public Form1()
        {
            InitializeComponent();

            for (int i = 0; i < 100; i++)
            {

                boxitem.Text = i.ToString();
                comboBox1.Items.Add(boxitem);
            }
        }

和类 ComboboxItem :

public class ComboboxItem
        {
            public string Text { get; set; }
            public object Value { get; set; }

            public override string ToString()
            {
                return Text;
            }
        }

但是由于某种原因,comboBox1 中的所有项目都是 99 有 100 个项目都相同 99 而不是 1 2 3 4 5 6 7 .... 99

标签: c#winforms

解决方案


ComboBox在这里,您一遍又一遍地设置同一项目的文本并将其添加到您的列表中:

for (int i = 0; i < 100; 
{
    boxitem.Text = i.ToString();
    comboBox1.Items.Add(boxitem);
}

相反,在循环内创建一个新ComboBox的并将其添加到列表中。只需移动

ComboboxItem boxitem = new ComboboxItem();

在你的for循环中,你很好。


推荐阅读