2016-11-07 7 views
0

私は現在、ロールプレイングゲームのキャラクタージェネレーターに取り組んでいます。私は能力スコアをロールアップする方法を持っていて、それを配列で持っています。配列をリストに変換します。次に、すべてのコンボボックスをデータソースに向けます。私はそれらを別々にバインドするので、すべて同じ番号に変更されません。残念ながら、リストから番号を削除することには問題がたくさんあります。これまでの見方は次のとおりです。どんな助けもありがとう。前もって感謝します。複数のコンボボックスで単一のデータソースを変更

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); 

答えて

0

代わりの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から値を削除(または新しい値を追加し、値を出更新)と変更が自動的に意志することができますすべてのコンボボックスに反映されます。

IList<T>に加えてBindingList<T>には、データバインド認識コンポーネントによって認識される標準の変更通知も含まれているためです。

関連する問題