ToolStripMenüItem

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von LERNT_NOCH.

    ToolStripMenüItem

    Hey, ich habe ein TSMI welches sich "Administration" nennt.... Hier habe ich zur Auswahl "Login Sperre"....

    Sobald ich das Item geklickt habe, soll es sich umbenennen in "Login Sperre aufheben".....



    Kann mir jemand helfen?
    Habe meins mal einfach irgendwie benannt:

    VB.NET-Quellcode

    1. Private Sub AdssadToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AdssadToolStripMenuItem.Click
    2. AdssadToolStripMenuItem.Text = "Login Sperre aufheben"
    3. End Sub


    Adssad steht hierbei für das jeweilige Menuitem.
    (ps: Wenn wechselt, sprich von A zu B und von B zu A, musst natürlich noch eine Abfrage reinschreiben)
    Du hast es doch hoffentlich nicht einfach ohne darüber nachzudenken kopiert?
    Denn mein Name des Menüitems ist unterschiedlich zu deinem.

    Ich kann dir versichern, es funktioniert zu 100%. (Wenn man es richtig macht)

    Sonst poste doch mal deinen Code hier rein.
    Habe es nicht kopiert, habe mein Item davor gesetzt......

    oder so.....; funktioniert aber auch nicht


    VB.NET-Quellcode

    1. Private Sub LoginSperre_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LoginSperre.Click
    2. If LoginSperre.Checked Then
    3. LoginSperre.Text = "Entsperren"
    4. ElseIf LoginSperre.Checked = False Then
    5. End If
    6. End Sub
    Vlt liegt es an der Abfrage? Nimm das Checked mal raus und versuche es dann, wenn es klappt dann kannst du entweder mit einer boolean arbeiten oder mit einer If-Abfrage nach dem Motto "If BlaItem.Text = "Login Sperre Then" wobei das nicht so schön ist.

    //edit:

    VB.NET-Quellcode

    1. Dim bolSperre As Boolean
    2. Private Sub LoginSperre_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LoginSperre.Click
    3. If Not bolSperre Then
    4. LoginSperre.Text = "Entsperren"
    5. bolSperre = True
    6. Else
    7. LoginSperre.Text = "Sperren"
    8. bolSperre = False
    9. End If
    10. End Sub
    Ich habe es nun folgendermaßen gemacht, wobei nach dem Betätigen von "Sperren" auch "Entsperren" erscheint, jedoch nach Betätigen sich nicht wieder in "Sperren" ändert....

    VB.NET-Quellcode

    1. Private Sub LoginSperre_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LoginSperre.Click
    2. 'Sperre wird betätigt
    3. Dim TestSperre As Boolean
    4. If Not TestSperre Then
    5. LoginSperre.Text = "Entsperren"
    6. TestSperre = True
    7. End If
    8. 'Entsperren wird betätigt
    9. If Not TestSperre Then
    10. LoginSperre.Text = "Login Sperren"
    11. TestSperre = True
    12. End If
    13. End Sub
    Die Deklaration des Boolean bitte nicht um Sub ;)
    Außerdem ist die Abfrage sinnlos.

    VB.NET-Quellcode

    1. Dim TestSperre As Boolean
    2. Private Sub LoginSperre_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LoginSperre.Click
    3. 'Sperre wird betätigt
    4. If Not TestSperre Then
    5. LoginSperre.Text = "Entsperren"
    6. TestSperre = True
    7. Else
    8. LoginSperre.Text = "Login Sperren"
    9. TestSperre = False
    10. End If
    11. End Sub


    So müsste es lauten. Du fragst nämlich in beiden Abfragen (die auch hätten nur eine sein können) das Gleiche ab und setzt die Boolean immer auf True. Du willst ja eher fragen:

    Wenn Nicht X = Wahr Dann
    Text ändern
    X = Wahr
    Ansonsten (Wenn X = Wahr)
    Text ändern
    X = Unwahr
    Ende Wenn

    Ich hoffe das ist nun verständlicher, ansonsten frag noch mal nach.
    Ah dafür nicht, das sind Fehler die springen einem der etwas mehr Ahnung hat sofort ins Auge. Wichtig ist aber das du es verstanden hast, denn nur so lernt man daraus.
    Aber wie ich gesehen habe bist du eh kein C&P Spezialist, von daher mache ich mir da keine Sorgen.