.NET类中数组值如何在WinForm下拉框中加载显示?
问题分析与修复方案
你的代码存在两个关键问题:
- 完全没有使用已引用的
ListMachinetyp类,反而自行声明了一个空字符串数组,导致ComboBox无法加载目标内容 - 使用
cbox.Items.Add()会把整个数组作为单个项添加,而非将数组内的每个元素分别加入选项
修复后的Form代码
public Form1() { InitializeComponent(); // 实例化引用的ListMachinetyp类 ListMachinetyp machineList = new ListMachinetyp(); // 用AddRange批量添加数组内的所有元素到ComboBox cbox.Items.AddRange(machineList.machinetype); }
额外优化建议
可以把machinetype字段改为只读属性,避免外部代码意外修改数组内容,同时符合C#命名规范:
public class ListMachinetyp { public string[] Machinetype { get; } = new string[] { "Machine 1", "Machine 2", "Machine 3" }; }
修改后Form中的调用需调整为machineList.Machinetype(注意首字母大写)
内容的提问来源于stack exchange,提问作者rlbb0206
相关产品推荐
相关产品推荐

