Objekte in Form sollen keinen Fokus bekommen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Objekte in Form sollen keinen Fokus bekommen

    Hallo zusammen,

    ich programmiere eine Software zum Steuern einer Anlage mit 4 motorisch angetriebenen Achsen.

    Die Achsen sollen über Buttons verfahren werden, oder mit den Pfeiltasten auf dem Nummernblock. Soweit so klappt das auch alles, nur wenn ein Button mit der Maus betätigt wurde, liegt der Fokus auf diesem Button. Drücke ich jetzt die Pfeiltasten, fahren nicht mehr meine Achsen, sonder der Fokus wandert zwischen meinen Buttons hin und her.

    Wie kann ich verhindern, dass die Buttons den Fokus behalten, nachdem ich sie mit der Maus betätigt habe?



    Danke für Eure Hilfe

    Gruß

    DotNetler
    Hallo SpaceyX,

    danke für den Tip.

    VB.NET-Quellcode

    1. Me.KeyPreview = true
    habe ich schon gesetzt. Die Tastenevents werden ja grundsätzlich von der Hauptform abgefangen und verarbeitet.

    Wenn ich jedoch einmal ein Button mit der Maus betätigt habe, und danach die Pfeiltasten benutze, springt der Fokus immer zwischen den Buttons hin und her (zu sehen an der Umrandung des Buttons). Wenn ich kein Button mit der Maus betätige funktioniert es.

    Danke

    DotNetler schrieb:

    springt der Fokus immer zwischen den Buttons hin und her
    Das ist leider so, selbst wenn Du den Buttons die Property TabStop auf False setzt.
    Die Bedienung von Tasten unter Windows ist halt so definiert.
    Du müsstest Dir einen Form nur mit Controls machen, die keine TabStop-Property haben.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!