Überprüfen, ob Contextmenü-Item "gecheckt" ist

  • VB.NET

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

    Überprüfen, ob Contextmenü-Item "gecheckt" ist

    Hallo,

    ich will über einen Timer auslesen, ob in einem Kontextmenü ein Item gecheckt ist.
    Wenn ja, soll eine bestimmte Funktion ausgelöst werden, wenn nein, soll eine andere Funktion ausgelöst werden.
    Ist das überhaupt möglich?
    Ich habe schon so ziemlich alles ausprobiert, was mir logisch erschien.

    Grüße
    Ben
    Den Timer kannst/solltest du weg lassen. Der Timer ist in den meisten fällen ein typischer anfänger fehler.
    Du kannst einfach ein doppelklick auf den Eintrag im Kontextmenu machen. Es sollte sich ein CheckedChanged sub erstellen. Wenn nicht, geh in den Code, wähle links über dem Codefenster die Checkbox aus, und gleich rechts daneben das Event CheckedChanged aus. Nun solltest du etwa soeinen sub haben:

    VB.NET-Quellcode

    1. Private Sub Objektname_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Objektname.CheckedChanged
    2. 'Hier dein Code
    3. End Sub
    ...aber gut, dass wir darüber gesprochen haben!
    Wieso über einen Timer?
    Ruf die Funktion auf, wenn sie im Kontextmenu angeklickt wird.
    Den Eventhandler kannst Du im Designer erstellen.
    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!

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
    2. If Item1ToolStripMenuItem.Checked Then
    3. Blubl()
    4. Else
    5. Bla()
    6. End If
    7. End Sub


    RodFromGermany schrieb:

    Wieso über einen Timer?

    Vielleicht hat er ja ein festen Intervall bei dem was passieren soll. z.B. ein Update-Event dass nur alle 5 Sekunden ausgeführt wird und mit dem Item interagieren soll.
    Und wenn Du eine Pizza bestellt hast, rennst Du alle 2 Minuten zur Tür um zu sehen, ob der Italiener vor der Tür steht. :D
    Wir wollen de jungen Kollegen helden, anständigen Code zu schreiben.
    Im übrigen wollen wir @BenxD: die Frage beantworten lassen:

    RodFromGermany schrieb:

    Wieso über einen Timer?
    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!