J'ai un CheckedListBox. Je voudrais être en mesure de sélectionner des éléments lorsque je clique sur le texte, mais cochez/décochez-les lorsque je clique sur la case à cocher sur la gauche. Si je règle CheckOnClick, les éléments sont cochés et décochés chaque fois que je clique, même sur le texte, ce qui n'est pas bon. Mais si j'efface CheckOnClick, je dois cliquer deux fois pour cocher et décocher. Ma première pensée est de gérer les événements MouseClick ou MouseDown et d'appeler IndexFromPoint pour savoir quelle ligne est cliquée. Alors je devinerais juste que la case à cocher est sur la gauche, de x = position de 0 à, par exemple, ItemRectangle.Height. En fonction de la distance à partir de la gauche, je pourrais sélectionner ou cocher/décocher.Comment puis-je CheckOnClick dans une CheckedListbox, mais uniquement lorsque la case est cochée?
La question est de savoir s'il existe un meilleur moyen de déterminer si la souris est sur la case à cocher ou sur le texte. Différents styles peuvent avoir différentes tailles et cases à cocher pourraient les mettre à gauche, à droite, etc ...
Je ne trouve pas CheckBoxRender.ConvertFromButtonState n'importe où! Est-ce une API interne à laquelle je ne peux pas accéder? – Eyal