c# - 为什么将项目添加到组合框时,值是相同的并且不会通过循环增加?
问题描述
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
解决方案
ComboBox
在这里,您一遍又一遍地设置同一项目的文本并将其添加到您的列表中:
for (int i = 0; i < 100;
{
boxitem.Text = i.ToString();
comboBox1.Items.Add(boxitem);
}
相反,在循环内创建一个新ComboBox
的并将其添加到列表中。只需移动
ComboboxItem boxitem = new ComboboxItem();
在你的for循环中,你很好。
推荐阅读
- asp.net-mvc - 如何解决找不到 MVC 控制器 - 404 错误
- python - 如何计算日期出现熊猫?[python]
- c# - 在 Unity 中转换 TextMesh
- android - 用户尝试使用 onDataChange 注册时的 Firebase 数据库如何防止发送错误 toast
- reactjs - 如果未更改默认值,则 antd 表单项验证失败
- c++ - Visual C++ 6.0 WholeArchive
- flutter - 使用 Firebase 进行声明式身份验证路由
- python - 在 Python 字典中断言所有值的数据类型的更好方法
- java - 如何从单击的自定义 ListView 项目发送信息?
- javascript - 如何获取放在控制台中的数组对象,带地图的箭头功能不起作用