我仍在学习C#的技巧,因此不确定我可以使用的工具。
我在一个项目的类数组中有一个项目的类数组(例如,carBrand []内的carModel [] ... carBrand(netWorth,numberofcars,carModel [])...)。加载时,较大的数组carBrand []显示在列表框中。
我希望用户能够在列表框中选择一个项目,以便列表框显示所选项目的子数组。我该怎么做呢?
答案 0 :(得分:0)
您可以创建2个列表框并执行以下操作
class Brand
{
public string Name {get; set;}
public Model[] Models {get; set;}
}
class Model
{
public string Name {get; set;}
}
// init your brand list, and model list for each brand
private Brands[] _brands = . . .
// init lists
lstBrands.DisplayMemeber = "Name";
lstBrands.ValueMemeber = "Name";
lstBrands.DataSource = _brands;
// then on lstBrands selected intex changed
private void lstBrands_SelectedIndexChanged (sender, e)
{
if (lstBrands.SelectedIndex = -1)
{
lsltModels.DataSource = null;
return;
}
var brand = (Brand)lstBrands.SelectedItem //<-- note - ITEM, not index
lsltModels.DisplayMemeber = "Name";
lsltModels.ValueMemeber = "Name";
lsltModels.DataSource = brand.Models;
}
它有点伪代码,但是您可以理解-选择品牌时,您用每个品牌中保留的该品牌的模型填充模型第一个框。