私は人をモデル化するために以下のクラスを作成しました:私のメインフォームで.NET WinFormsのコンボボックスのBindingSourceとデータバインディング質問
namespace DataBindingTest
{
public enum colorEnum
{
Red,
Green,
Yellow,
Blue,
}
class Person
{
private string _Name;
private int _Age;
private colorEnum _FavoriteColor;
private bool _HasAllergies;
public string Name
{
get { return _Name; }
set { _Name = value; }
}
public int Age
{
get { return _Age; }
set { _Age = value; }
}
public colorEnum FavoriteColor
{
get { return _FavoriteColor; }
set { _FavoriteColor = value; }
}
public bool HasAllergies
{
get { return _HasAllergies; }
set { _HasAllergies = value; }
}
}
}
を、私はPersonオブジェクトの配列にバインドされるコンボボックスを持っています。このコンボボックスから人を選択すると、アレルギー(チェックボックス)と好きな色(DropDownStyleがDropDownListに設定されている別のコンボボックス内)のいずれであるかをNumericUpDownコントロールで表示したいと考えています。これを実現するために、私がしている:
- は私のフォームにコンボボックス(comboBoxPeople)、NumericUpDownコントロール、チェックボックスと別のコンボボックス(comboBoxFavoriteColor)を追加しました。
- 上で宣言した私のPersonクラスから新しいデータソースを作成し
- は
- は#2で定義されたデータソースへのBindingSourceのDataSourceプロパティを設定し、私のフォームにのBindingSourceを追加しました。私は、チェックボックスコントロール にNumericUpDownコントロールへのBindingSourceのAgeプロパティとのBindingSourceのHasAllergiesプロパティをバインドしているのBindingSource
- のNameプロパティにのBindingSourceとDisplayMemberにcomboBoxPeopleのDataSourceを設定し
- 私のコンストラクタで、私は、3つのオブジェクトの配列を作成し、そのプロパティのすべてを定義した後、これまでのところ、この配列
へのBindingSourceのDataSourceプロパティを設定している、すべてが期待どおりに動作しています。今度は、その人の好きな色(BindingSourceのFavoriteColorプロパティ)をcomboBoxFavoriteColorに表示したいと思います。 FavoriteColorは列挙型なので、DropDownStyleをDropDownListに設定しました。しかし、私はこのコンボボックスをバインドして、1)FavoriteColor列挙値を含み、2)comboBoxPeopleから人を選択したときに、SelectedItemとして適切な色を設定する方法を明確にしていません。誰も私にこれについてのアイデアを与えることができますか?どうもありがとう!ちょうどタイプstring
として好きな色を保存し、colorEnum
+1、今日何か新しいことを学んだ –
それは私がそれが欲しいと正確に動作します! :-)そして、同じ週末に2度、私がやろうとしていることをあなたに教えてくれました。あなたに心から感謝します! – user685869
私の喜び。よく書かれた質問をありがとう! –