Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

Wieso kommt das Fokus-Rechteck beim Radiobutton und Checkbox erst nach erstmaliger Tab-Taste?
Anchiko
myCSharp.de - Member



Dabei seit:
Beiträge: 12

Themenstarter:

Wieso kommt das Fokus-Rechteck beim Radiobutton und Checkbox erst nach erstmaliger Tab-Taste?

beantworten | zitieren | melden

Hallo,

wenn ein Fenster angezeigt wird und das erste Control-Element eine Checkbox oder ein Radiobutton ist, erhält dieses Control kein Fokus-Rechteck, obwohl es den Fokus hat.

Dasselbe Verhalten ist mir aufgefallen, wenn ich durch die Control-Liste mit SelectNextControl wechsle.

Habe ich aber einmal die Tab-Taste gedrückt oder mit SendKeys.Send("{TAB}") dieses Ereignis ausgelöst, wird ein Fokusrechteck gezeichnet, wenn ich wieder mit SelectNextControl durch die Controls wechsle.

Ich habe auch versucht mit ControlPaint.DrawFocusRectangle das Zeichnen des Fokus-Rechtecks auszulösen, hat aber keine Wirkung gezeigt.

Hat jemand eine Idee, wie ich von Anfang an ein Fokus-Rechteck für Checkboxen und Radiobuttons erhalte?

Vielen Dank im Voraus!
Anchiko
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.320

beantworten | zitieren | melden

Das scheint dann wohl ein Fehler im .NET-Framework zu sein.
Als Workaround fällt mir dann nur ein, so wie du schon geschrieben hast, Tab und Strg+Tab beim Shown-Ereignis aufzurufen:


SendKeys.Send("{TAB}^{TAB}")
private Nachricht | Beiträge des Benutzers
Anchiko
myCSharp.de - Member



Dabei seit:
Beiträge: 12

Themenstarter:

beantworten | zitieren | melden

Hallo Th69,

vielen Dank für Deine Antwort. Ich verwende .Net -Framework 4.8, aber das hat sich ja bald erledigt (.Net 5 ab November 2020).

Ich habe Deinen Hinweis umgesetzet allerdings Strg(^) durch Umschalt(+) ersetzt:

SendKeys.Send("{TAB}+{TAB}");

Grüße
Anchiko
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.320

beantworten | zitieren | melden

Ja klar, muß "Shift+Tab" sein.
private Nachricht | Beiträge des Benutzers