enum を ComboBox に表示する (文字列で置き換えない)
もうちょっと実験したらまた不思議なことが起きたのでメモ。
enum を直接コンボボックスに表示する場合です。一つ前のエントリとの違いは文字列で置き換えないってところ。こっちが先だろって一人つっこみしつつ…。
表示したいのはこれ。
public enum Gender { Male, Female }
そのままコンボボックスに Male や Female と表示します。フォームにこれを書くだけ。
this.genderComboBox.DataSource = Enum.GetValues( typeof( Gender ) );
ただし!前の文字列で置き換える例では、データバインディングを使うとき、コンボボックスの Text プロパティにバインドすると動かず、SelectedValue プロパティにバインドしました。
今度は逆で、この例では Text プロパティにバインドしないと動きません。
なんだかなぁ。データバインディングはドキュメントも少ないくせにややこしい。