私は多くのコンボボックスを持つウィンドウフォームを持っています。彼らはすべて同じアイテムを表示しなければならず、値のリストからアイテムを削除したいと考えています。だから私はリスト変数を作成してそれを削除して値を挿入することにしました。だから私が何をしたか複数のコンボボックスへのバインドリスト
List<string> Ranks = new List<string>(new string[] { "values here" });
はその後、私のForm1Designer.csに
this.ComboBox_Rank_0.DataSource = Ranks;
Iの心臓たValueMemberとDisplayMemberは持っている良いものだったしましたが、今のところそれはそれらなしで動作します。コンパイルすると、フォームがロードされ、コンボボックスが正しい値を持ちます。
問題は、1つのコンボボックスで値を選択すると、他のコンボボックスでも同じ値が選択されるということです。何か案は?
問題はbecaではありません'List'を使って 'BindingList 'を使っても違いはありません。問題は、コントロールが単一の 'BindingManagerBase'を共有していることを意味するデータソースとして単一のリストを使用することです。ソリューションとして、複数のリスト(バインディングリストまたはyourList.ToListを含む)をデータソースとして使用できます。また、データソースとしてマルチプル 'BindingSource'を使用することもできます。あるいは、コンボボックスに新しい 'BindingContext'を使うこともできます。 –
@RezaAghaei、まあ、えーと... BindingListsを使ったSteveのソリューションはうまくいきました。 – mathgenius
確かに正しく動作し、それは複数の 'BindingList'のためです。ここで重要なことは、この場合、 'List'と 'BindingList 'の間に違いはないということです。私が言ったことはスティーブの答えに反するものではない。しかし、私は問題の実際の理由を説明し、問題を解決するための3つの選択肢を共有しました。この記事を見て、記事を読んで、ソリューションをテストしてください:[複数のコンボボックスが単一のリストにバインドする - 問題:アイテムを選択すると、すべてのコンボボックスが変わります(http://stackoverflow.com/a/35865838/3110834)。確かに投稿が役に立ちます:) –