Laden...

[erledigt] CheckedListBox und Maus-Scrolling

Erstellt von mrennen vor 11 Jahren Letzter Beitrag vor 11 Jahren 670 Views
M
mrennen Themenstarter:in
166 Beiträge seit 2008
vor 11 Jahren
[erledigt] CheckedListBox und Maus-Scrolling

Hallo zusammen,

ich habe auf einer WinForm eine CheckedListBox mit etlichen Einträgen (reicht locker um die Scrollleisten zu sehen). Diese CheckedListBox soll Daten mit einem Mausklick "aktivieren" - Funktioniert auch einwandfrei.

Wie bekomme ich es nun hin dass ich nicht erst einen Datensatz markiere und wieder "demarkiere" um mittels Mausrad scrollen zu können.

Das geht irgendwie nur wenn das CheckedListBox-Control den Focus hat - nur dann ist halt schon eine Datensatz markiert 😦

Hat jemand eine Idee ?

Gruß und Thx

Michael

4.941 Beiträge seit 2008
vor 11 Jahren

Hallo,

meinst du "CheckOnClick"? - sollte aber standardmäßig schon auf "false" stehen...

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo mrennen,

irgendwie muss die ChecedkListBox schon den Fokus bekommen. Vom Benutzer aus geht das eigentlich nur per Anklicken oder mit der Tab-Taste. Es kann gut sein, dass sich die Konsequenz, dass ein Eintrag markiert wird, vom Benutzer nicht vermeiden lässt. Aber zum einen sollte eine Markierung nicht stören, wenn - wie Th69 sagt - CheckOnClick auf false steht und du dich eigentlich nur für den Zustand der CheckBoxen interessierst. Zum anderen kannst du natürlich z.B. im SelectedIndexChanged die Selektion auch gleich wieder zurücknehmen.

Wenn du willst, dass das Mausrad immer auf die CheckedListBox wirkt, egal welches Control den Focus hat, wird es kniffelig, weil es sowas wie Form.KeyPreview für Maus(Rad)-Events nicht gibt. Du kannst natürlich einfach ein und denselben MausRad-EventHandler (rekursiv) für alle Controls registrieren, aber du musst ja immer noch verhindern, dass das Mausrad in den anderen Controls seine Wirkung entfaltet. Möglicherweise müsstest du da über die WndProc gehen, um solche Events schon abzufangen bevor sie ihr reguläres Zielcontrol erreichen.

herbivore

M
mrennen Themenstarter:in
166 Beiträge seit 2008
vor 11 Jahren
Gelöst: CheckedListBox und Maus-Scrolling

Ich habe es nun anders gelöst und die User sind damit zufrieden 😃

Im MouseEnter-Event mache ich ein Object.Focus();

Mit dem Hinweis: Es wird eh nur gescrollt wenn ein Wert "weiter unten" gewählt werden soll ...

Danke für eure Mühen

Michael