Aktualnie pracuję nad aplikacją Window, która używa CheckedListBox dla pewnych aspektów programu. Napotkany problem polega na tym, że próbowałem ustalić, które zdarzenie zostanie wywołane, gdy element jest zaznaczony, aby umożliwić włączenie przycisku formularza po sprawdzeniu dowolnego elementu listy.System Windows C# CheckedListBox Element sprawdzony Obsługa zdarzeń
Problem polega na tym, że próbowałem użyć następujących;
private void clbAvailMods_ItemCheck(object sender, ItemCheckEventArgs e)
{
if(e.NewValue == CheckState.Checked)
{
btnInstall.Enabled = true;
}
}
Ale gdy ustawię punkt przerwania w instrukcji if, to nigdy nie odpali po sprawdzeniu pozycji w polu listy.
Czy robię coś nie tak?
Wygląda na to, że projektant formularzy miał tam nieprawidłowo zarejestrowane zdarzenie ItemCheck. To naprawiło główny problem, ale teraz pojawił się nowy, który wydaje się bardziej niejasny w jego kontekście. Wygląda na to, że stan sprawdzanego elementu nie jest aktualizowany do momentu zakończenia sprawdzania pozycji. Jest to złe, ponieważ potrzebuję sprawdzenia pierwszego elementu, aby uruchomić ucieleśniony kod. Ponieważ stan nie jest aktualizowany do później, tracę przy natychmiastowej rejestracji wypalania zdarzenia check item. –