Benutzer mit den meisten Antworten
Oval Shape blockiert KeyDown- Ereignis

Frage
-
Hallo,
ich habe folgende Problem:
Ich möchte mit den Pfeiltasten Panel nach links oder rechts bewegen.
Dazu benutze ich das KeyDown bzw. KeyUp Ereignis.
Das hat auch alles wunderbar funktioniert, bis ich ein OvalShape- Objekt in das Form erstellt habe.
Nun reagiert das Ereignis nicht mehr, wenn ich die Tasten drücke.
Wenn ich das OvalShape Objekt entferne, funktioniert alles wieder wunderbar!
Das OvalShape Objekt muss also irgendwie das KeyDown/ KeyUp Ereignis beeinflussen bzw. blockieren!
Beste Grüße
Dennis
- Verschoben Ionut DumaModerator Mittwoch, 19. Juni 2013 07:38 VB.Net Frage
Antworten
-
Hallo, du hast recht. Das OvalShape scheint sich den Tastaturfokus etwas an sich zu reisen. Es gibt jedoch einen einfachen Workaround: Packe alles in ein Panel. Das Panel dockst du direkt in der Form an (Dock=Fill). Dadurch scheint das Problem nicht mehr weiter zu bestehen.
Dann solltest du nurnoch Enabled=False bei den OvalShape's setzen. Sodass diese nicht mehr den Fokus bekommen können.
PS: Stelle VB.NET-bezogene Fragen bitte das nächste mal hier oder hier. Bzw. VB-Fragen hier.
Falls du C# benutzen solltest, dann hier oder hier.<Code:13/> - Koopakiller [kuːpakɪllɐ]
Webseite | Code Beispiele | Facebook | Snippets
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.- Als Antwort markiert 123Dennis Dienstag, 4. Juni 2013 17:22
Alle Antworten
-
Hallo, du hast recht. Das OvalShape scheint sich den Tastaturfokus etwas an sich zu reisen. Es gibt jedoch einen einfachen Workaround: Packe alles in ein Panel. Das Panel dockst du direkt in der Form an (Dock=Fill). Dadurch scheint das Problem nicht mehr weiter zu bestehen.
Dann solltest du nurnoch Enabled=False bei den OvalShape's setzen. Sodass diese nicht mehr den Fokus bekommen können.
PS: Stelle VB.NET-bezogene Fragen bitte das nächste mal hier oder hier. Bzw. VB-Fragen hier.
Falls du C# benutzen solltest, dann hier oder hier.<Code:13/> - Koopakiller [kuːpakɪllɐ]
Webseite | Code Beispiele | Facebook | Snippets
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.- Als Antwort markiert 123Dennis Dienstag, 4. Juni 2013 17:22
-
Ich habe es einfach bei der Form belassen. Also von der Form das KeyDown-Event abbonniert. PrevieKeyDown wird kurz vor KeyDown ausgelöst und macht somit eigentlich nichts anderes. Somit müsste es egal sein. Bei der Form habe ich es aber getestet.
<Code:13/> - Koopakiller [kuːpakɪllɐ]
Webseite | Code Beispiele | Facebook | Snippets
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.