Beim ersten mal Enter drücken geschiet etwas beim zweiten mal soll etwas anderes geschehen

  • VB.NET

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

    Beim ersten mal Enter drücken geschiet etwas beim zweiten mal soll etwas anderes geschehen

    Hey Leute

    ich möchte das wenn ich das erste mal Enter drücke dann Panel1 erscheint und beim zweiten mal Enter drücken Panel2. Wie das mit dem erscheinen und Tasten drücken geht weis ich aber wie sagt man dem Programm das beim zweiten mal Enter drücken Panel2 erscheinen soll?

    MFG
    Eine Variable braucht man dafür nichtmal

    Du machst einfach eine verschachtelte If-Abfrage veim Enter-Event

    Wenn Panel1 Unsichtbar => Panel1 Anzeigen
    Wenn Panel1 Sichtbar Und Panel1 = Unsichtbar => Panel2 Anzeigen
    Wenn Panel2 Sichtbar und Panel3 = Unsichtbar => Panel3 Anzeigen
    Kommt halt drauf an, wenn der Benutzer eine der Formen schließt funktioniert das ganze nicht mehr :P

    Falls du dynamisch viele Controls erstellt hast dann geh ggf. so vor:

    VB.NET-Quellcode

    1. Public enter_click_count As Integer = 0
    2. Private Sub Form1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Enter
    3. enter_click_count += 1
    4. Dim p As Panel = CType(Me.Controls("Panel" & enter_click_count), Panel)
    5. p.show()
    6. End Sub
    @RaYder04:
    Dynamisch mit den Namen von Controls zu arbeiten halte ich für suboptimal, da Namen einen Bezug zur Funktion haben (sollen).
    @Freak!:
    Enter drücken ist natürlich nicht definiert, fragt sich doch, welches Fenster / Control den Fokus hat (KeyPreview).
    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!