使用多个组合框更改单个数据源
Change single datasource with multiple comboboxes
我目前正在为角色扮演游戏开发角色生成器。我有一个滚动能力分数的方法,我把它们放在一个数组中。我将数组转换为列表。然后我将所有组合框指向数据源。我分别绑定它们,所以它们都不会更改为相同的数字。不幸的是,我在选择一个数字后从列表中删除它时遇到了很多问题。这是到目前为止的样子。任何帮助,将不胜感激。提前致谢。
List<int> abilityList = allAtribs.ToList();
strCombo.DataSource = new BindingSource(abilityList, null);
dexCombo.DataSource = new BindingSource(abilityList, null);
conCombo.DataSource = new BindingSource(abilityList, null);
intCombo.DataSource = new BindingSource(abilityList, null);
wisCombo.DataSource = new BindingSource(abilityList, null);
chaCombo.DataSource = new BindingSource(abilityList, null);
而不是 List<int>
,创建一个 BindingList<int>
并将其存储在表单成员中。
形式:
private BindingList<int> abilityList;
初始化:
// if allAttribs is int[], you can remove .ToList()
abilityList = new BindingList<int>(allAtribs.ToList());
strCombo.DataSource = new BindingSource(abilityList, null);
dexCombo.DataSource = new BindingSource(abilityList, null);
// etc....
然后您只需从 abilityList
中删除一个值(或添加新值、更新现有值),更改将自动反映在所有组合框中。
这是因为 BindingList<T>
除了 IList<T>
之外还提供数据绑定感知组件识别的标准更改通知。
我目前正在为角色扮演游戏开发角色生成器。我有一个滚动能力分数的方法,我把它们放在一个数组中。我将数组转换为列表。然后我将所有组合框指向数据源。我分别绑定它们,所以它们都不会更改为相同的数字。不幸的是,我在选择一个数字后从列表中删除它时遇到了很多问题。这是到目前为止的样子。任何帮助,将不胜感激。提前致谢。
List<int> abilityList = allAtribs.ToList();
strCombo.DataSource = new BindingSource(abilityList, null);
dexCombo.DataSource = new BindingSource(abilityList, null);
conCombo.DataSource = new BindingSource(abilityList, null);
intCombo.DataSource = new BindingSource(abilityList, null);
wisCombo.DataSource = new BindingSource(abilityList, null);
chaCombo.DataSource = new BindingSource(abilityList, null);
而不是 List<int>
,创建一个 BindingList<int>
并将其存储在表单成员中。
形式:
private BindingList<int> abilityList;
初始化:
// if allAttribs is int[], you can remove .ToList()
abilityList = new BindingList<int>(allAtribs.ToList());
strCombo.DataSource = new BindingSource(abilityList, null);
dexCombo.DataSource = new BindingSource(abilityList, null);
// etc....
然后您只需从 abilityList
中删除一个值(或添加新值、更新现有值),更改将自动反映在所有组合框中。
这是因为 BindingList<T>
除了 IList<T>
之外还提供数据绑定感知组件识别的标准更改通知。