Robię prostą aplikację WinForm i napotykam na dziwny problem.ComboBoxes są połączone (i to jest złe)
Moja forma:
To jest tak proste, jak to tylko możliwe: 3 comboboxes i dwa przyciski - OK i Anuluj.
Widok:
private void applyOrderButton_Click(object sender, EventArgs e)
{
List<string> testList = new List<string>()
{
"A",
"B",
"C"
};
comboBox1st.DataSource = testList;
comboBox2nd.DataSource = testList;
comboBox3rd.DataSource = testList;
comboBox1st.SelectedIndex = 2;
comboBox2nd.SelectedIndex = 1;
comboBox3rd.SelectedIndex = 0;
//Presenter.DoTest();
}
Co się dzieje po caling metodę applyOrderButton_Click()
(zdarza się po kliknięciu przycisku OK) wszystkie moje comboboxes zmieniają wybrane stanowisko. Jednak każdy z tych elementów comboBox ma ten sam wybrany indeks - w tym konkretnym przypadku będzie to "A".
Następnie zmieniam zmianę comboBox selectedIndex za pomocą mojego cursour (na przykład wybieram 3 comboBox, aby pokazać "C") zmiana jest wykonywana dla wszystkich trzech list comboBox. Co robię źle?
Wszystkie trzy pudła podzielić się z tego samego źródła, a właściwie tę samą instancję. Aktualna pozycja na liście jest kontrolowana przez bieżący element modułu wyliczającego. Jeśli to zmienisz, zmieni się wszędzie ... – Shnugo