2010-12-10 23 views
4

私は自分のフォーム(winforms)にコンボボックスを持っています。プロパティでは、DisplayMemberとValueMemberを設定しました。 DisplayMember = NameおよびValueMember = ID。コンボボックスは、次のオブジェクトが移入されていますCombobox selectedvalue

mycombobox.SelectedValueそれは常にNULLです:

public class MyObj 
    { 
     public string Name 
     { 
      get; set; 
     } 

     public int ID { get; set; } 
    } 

名前は私が行うとき、しかし、(そうDisplayMemberが働いている)ドロップダウンで細かい表示されます。

私は何かを忘れてしまったことを知っていますか?

+0

どこで 'mycombobox.SelectedValue'をチェックしましたか? – Bolu

+0

ボタンのクリックイベントです。私はまた、コンボボックス自体のSelectedIndexChangedイベントでそれをチェックしようとしましたが、それもそこで動作しませんでした。 SelectedIndexまたはSelectedItemを実行した場合、 – AndrewC

+0

何が得られますか?コンボボックスがどのように設定され、入力されたかのコードを追加できますか? –

答えて

4

を試してみてくださいあなたがDataSourceプロパティを設定しました。また、あなたが正しい順序でそれらを設定する必要があることを確認してください -

は、次の順序でそれらを設定する -

1. DisplayMember 
2. ValueMember 
3. DataSource 

このリンクを参照してください - http://social.msdn.microsoft.com/Forums/en/winformsdatacontrols/thread/211a46f5-5971-4ea2-a61d-84e389360909

また、あなたが取得するSelectedItemプロパティを使用することができます選択されたMyObjインスタンス。

+0

ありがとう、私はちょうどSelectedItemプロパティとキャストを使用して終了しました。 – AndrewC

+0

注文コメントをいただきありがとうございます!私に多くの時間を救った! –

0

のSelectedItem

MyObj obj = (MyObj)mycombobox.SelectedItem; 
0

商品は選択されていませんか?選択は必ずしも可視と同じではありません。おそらくあなたは本当にmycombobox.Textにしたいです。

0

私は似たような間違いがあります。私はDisplayMemberとValueMemberを設定しましたが、DataSource Items.Insertの代わりに設定しました。

関連する問題