Combobox zmieniający combobox w gtk#

0

Mam dwa Comboboxy, pierwszy idCombobox, przechowuje ID obiektów i pozwala na wybieranie obiektu z listy. Drugi combobox nazywa się raceCombobox i pozwala na wybranie rasy dla każdego obiektu (rasa to enum).

Czyli wybierając pierwszy obiekt, w hanlderze idComboboxa który reaguje na zmianę (onChange) muszę zmienić wartość raceCombobxa żeby odpowiadała wartości enuma w obiekcie, robię więc raceCombobox.Active = (int)llista[idCombobox].raceEnum;

Natomiast handler raceComboboxa (onChange) sprawia że po zmianie wartości w tym combo, jest ona zapisywana do obiektu.

Problem w tym że odwołanie się do raceCombobox.Active w handlerze idCombobox wywołuje hanlder raceComboboxa, przez co to nie działą.

Ewentualnie jak to można rozwiązać inaczej tak aby nie było tego problemu?

0

Powiedzmy, że mam liste obiektów (id,race), a IdComboBox i raceComboBox wyświetlają właściwości obiektów listy.
w IdCombox_selectedIndexChanged wpisujesz:

raceComboBox.SelectedItem = lista.Find(x => x.id == IdComboBox.SelectedIndex + 1).race;

natomiast w raceComboBox_SelectedItemChange:

lista.Find(x => x.id == IdComboBox.SelectedIndex + 1).race = raceComboBox.SelectedItem.ToString();

tym samym zmiana id wyświetla rasę w drugim comboboksie, a zmiana rasy, zapisuje ją pod wskazanym Id.

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