Jak ustawić ComboBox na pozycji określonej przez Wartosc ?

0

Jest wypełniony ComboBox:

            cmbTest.Items.Add(new { Tekst = "literka A", Wartosc= "A" });
            cmbTest.Items.Add(new { Tekst = "literka B", Wartosc= "B" });
            cmbTest.Items.Add(new { Tekst = "literka C", Wartosc= "C" });

Po naciśnięciu Button cmbTest ma ustawić się na pozycji na przykład z wartością "B".
Jak to zrobić?
PS
Działa
cmTest.SelectedIndex=1; ale jeśli nie znamy indeksu?

0

Można to zrobić na przykład tak:

cmbTest.SelectedIndex = cmbTest.Items.IndexOf("B");
0

Nie działa.
... ?
W cmbTest ustawione są:
DisplayMember=Tekst
ValueMember=Wartosc

Proszę o pomoc.

PS
Rozwiązanie gogolona działa, ale tylko na prostym ComboBox z Collection.

0

Coś w tym stylu

comboBox.SelectedItem = comboBox.Items.First(i=> i.Wartość == "x");
0

Działa tak (http://madprops.org/blog/Bind-a-ComboBox-to-a-generic-Dictionary/):

        private void Form1_Load(object sender, EventArgs e)
        {
            var choices = new Dictionary<string, string>();
            choices["A"] = "Arthur";
            choices["F"] = "Ford";
            choices["T"] = "Trillian";
            choices["Z"] = "Zaphod";
            comboBox1.DataSource = new BindingSource(choices, null);
            comboBox1.DisplayMember = "Value";
            comboBox1.ValueMember = "Key"; 
        }

        private void button1_Click(object sender, EventArgs e)
        {
            comboBox1.SelectedValue = "F";
        }

:-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1