2010-04-30 9 views
6

Jak mogę zezwolić użytkownikowi na kliknięcie w celu sprawdzenia pozycji w CheckedListBox za pomocą jednego kliknięcia? Domyślne zachowanie to pierwsze kliknięcie wybiera element, a drugie kliknięcie pozwala przełączać czek. Nie chcę przełączać zaznaczenia wyboru, szukam zachowania kontrolki ListView, w której mogę kliknąć bezpośrednio na polach wyboru, aby przełączać je bez wybierania ich elementów jako pierwszych.Sprawdź element w CheckedListBox bez wybierania

Odpowiedz

17

Urządzenie CheckedListBox ma właściwość CheckOnClick.

CheckOnClick wskazuje, czy pole wyboru powinno być przełączane po wybraniu elementu. Domyślnym zachowaniem jest zmiana wyboru przy pierwszym kliknięciu, a następnie ponowne kliknięcie użytkownika na zastosować znacznik wyboru. W niektórych przypadkach możesz jednak chcieć, aby element został zaznaczony zaraz po jego kliknięciu.

Czytaj: How do I CheckOnClick in a CheckedListbox but only when over the checkbox?

+0

Ale kiedy klikam na tekst elementu, a nie na pole wyboru, sprawdza/odznacza sam siebie. To nie jest zachowanie ListView. Chcę móc zaznaczać pola niezależnie od wybierania elementów. – Dmi

+0

Edytowałem swoją odpowiedź i dodałem link: wydaje się, że ktoś miał już takie same wymagania na stackoverflow.com –

+0

Interesujące, dzięki. To dziwne, że domyślnie nie jest zaimplementowane w sterowaniu. – Dmi

0

po prostu wpadł na ten problem, i nie znaleźć wiele w Google oprócz kwestii SO Tim odnosi. To brzmi jak dużo pracy dla tak podstawowej potrzeby, która jest dla mnie czerwoną flagą. Myślę więc, że problem leży w projekcie.

W moim przypadku bardzo prosto rozwiązać go za pomocą ListView zamiast CheckedListBox (zmieniając jego właściwości pozwala rzeczywiście uzyskać zachowanie CheckedListBox inaczej).

Powiązane problemy