Button - Focus Deaktivieren?

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von larserik98.

    Button - Focus Deaktivieren?

    Hallo!

    Ich würde gerne Wissen ob man überhaupt bei einem Button das Fokussieren Deaktivieren kann.
    Ich kenne die Funktion "TABStop" aber wenn man mit der maus auf den Button Klickt ist dieser (leider) Fokussiert.
    Wie deaktiviert man das?

    :thumbsup: P.s Es muss kein C&P sein (Ich mag C&P auch nicht ;) ) :thumbsup:

    mfG.
    larserik98

    Vitox schrieb:

    einfach im GotFocus Evnt einem anderen Control den Focus zuweisen, dann verliert der Button den Focus immer sofort
    Jo.. Das wusste ICH auch...
    Das Problem soll nicht auf ein anderes Control geschoben werden...

    ///EDIT:

    Quellcode

    1. dim b as button


    Timer:

    Quellcode

    1. b.Focus()



    Geht nicht, hm..
    Ich habe bilder auf dem Button und den "Style" d. Buttons verändert.
    Der Focus sieht s**** Hässlich aus :D
    Deswegen soll KEIN Objekt auf der Form Im focus sein.
    Höstens ein Objekt das noch nicht per:

    Quellcode

    1. form1.controls.add(...)

    Hinzugefügt wurde.

    Was aber anscheinend nicht geht.. :(

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „larserik98“ ()

    Ich hatte mal ein ähnliches Problem mit nem TabStop
    Tabstop entfinden
    und hab eine kleine Testklasse geschrieben:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.ComponentModel
    2. Public Class MyButton
    3. Inherits Button
    4. <DefaultValue(False)> _
    5. <Browsable(False)> _
    6. Public Overloads ReadOnly Property TabStop() As Boolean
    7. Get
    8. Return False
    9. End Get
    10. End Property
    11. <DefaultValue(False)> _
    12. <Browsable(False)> _
    13. Public Overloads ReadOnly Property Focused() As Boolean
    14. Get
    15. Return False
    16. End Get
    17. End Property
    18. Public Overloads Function Focus() As Boolean
    19. Me.Parent.Focus()
    20. Return False
    21. End Function
    22. End Class

    Hat aber nicht so funktioniert.
    Am besten, Du baust Dir ein UserControl mit den erforderlichen Eigenschaften.
    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!
    @RodFromGermany

    Danke!

    Aber mit Usercontrol's habe ich mich noch nie befasst :D

    Wenn du was anderes Findest schreib es bitte :)

    P.s ERLEDIGT!!!:

    Habe einfach was ganz banales gemacht :D

    Man braucht:

    1x Timer (interval=1)
    1x button

    Der button bekommt die Größe ("1;1")
    Der Text ist "" also leer / Nothing
    Die Backgroundcolor ist die Backgroundcolor der Form.
    Visible MUSS auf TRUE sein sonst geht es nicht.
    in den Timer code:

    Quellcode

    1. Button1.focus()


    So, jetzt wird jede Millisekunde der Focus auf den Button gerichtet der nur 1x1 Pixel groß ist, keinen text hat, und die selbe Backgroundcolor.

    Das Ganze ist dann NICHT zu sehen :) - Und der Focus bleibt auf dem Unsichtbaren Button :)

    WICHTIG:

    Wenn der Interval auf 1 Steht bleibt die Click Funktion aus, da der focus zu schnell verändert wird.
    Stellt den Intervall besser auf 300, dann ist der focus kurz zusehen sozusagen als "Bestätigung" für den klick, sieht echt gut aus :thumbsup:

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „larserik98“ ()

    VB.NET-Quellcode

    1. 1x Timer (interval=1)

    ist tödlich!
    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!