2016-08-04 18 views
0

誰かがWPFコンボボックスからWinFormsへのSelectedValuePathselectedValueに相当するものを知っていますか?私はValueMemberValueを試みたが、それは動作しません...Winforms ComboBoxのSelectedValuePathとSelectedValueに相当するものは何ですか?

+0

これらのプロパティを取得しようとしているコントロールのタイプは何ですか。テキストボックス、ボタン、リストビューなど? –

+0

ComboBoxのプロパティを取得しようとしていますか? – jhony3

答えて

2

SelectedValuePathSelectedItemからSelectedValueを取得するために使用されているパスを取得または設定します。正確には、WindowsフォームでValueMemberが提供するもので、ComboBoxの項目の実際の値として使用するプロパティのパスを取得または設定します。 Windowsフォームで

あなたはデータバインディングComboBoxで使用するには、このプロパティを使用する必要があります。

  • DataSource
    IListインタフェースまたはArrayを実装するオブジェクトを。
  • DisplayMember
    DataSourceプロパティで指定されたコレクションに含まれるオブジェクトプロパティの名前。指定されたプロパティがオブジェクトに存在しないか、DisplayMemberの値が空の文字列( "")の場合、オブジェクトのToStringメソッドの結果が代わりに表示されます。
  • ValueMember
    DataSourceプロパティ値、または最終データバインドオブジェクトのプロパティ名に解決ピリオドで区切られたプロパティ名の階層の単一のプロパティ名をepresenting。

  • SelectedValue
    ValueMemberプロパティによって指定されたデータソースのメンバの値を含むオブジェクト。

フォーム上ComboBoxButtonを入れて、以下の以下のようなButtonFormClickイベントのLoadイベントを処理します。 Buttonをクリックすると、ComboBoxの選択項目がの2つのに変更されます。イベントのイベントハンドラを登録することを忘れないでください。

public class Category 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

private void Form1_Load(object sender, EventArgs e) 
{ 
    var categories = new List<Category>() 
    { 
     new Category(){Id=1, Name= "One"}, 
     new Category(){Id=2, Name= "Two"}, 
     new Category(){Id=3, Name= "Three"}, 
    }; 

    this.comboBox1.DataSource = categories; 
    this.comboBox1.DisplayMember = "Name"; 
    this.comboBox1.ValueMember = "Id"; 
} 

private void button1_Click(object sender, EventArgs e) 
{ 
    this.comboBox1.SelectedValue = 2; 
} 
+0

そして、ValueMemberでPathを設定すると、たとえばValueMember = "ProductId" 'HotがSelectedValueになってしまいました。 – jhony3

+0

'DataSource'、' DIsplayMember'と 'ValueMember'を設定し、' SelectedValue'に選択した値が含まれている必要があります。これは 'DataSource'の' SelectedItem'の 'ValueMember'プロパティの値です。 –

+0

私は情報を変更したいと思って、私が設定した 'comboBox.SelectedValue = product.ProductId"をValueMemebr = 'ProductId'として設定しました。 – jhony3

2

ここでの変換は、以下のとおりです。WPFで

WPF      : WinForms 

.SelectedIndex   | .SelectedIndex 
.SelectedItem    | .SelectedItem 
.SelectedValue   | .SelectedValue 
.SelectedValue.ToString() | .SelectedText 
.SelectedValuePath  | .ValueMember 
+0

'SelectedValuePath'は' ValueMember'に相当します。 –

+0

申し訳ありませんが、私にとってそれは動作しません@RezaAghaei – jhony3

+0

SelectedValueはValueMemberで指定した値を設定しません。comboBox.DataSource、DisplayMemebr、ValueMemebrを設定しました。comboBox.SelectedValueを設定したいときに動作しません。 – jhony3

関連する問題