2017-05-27 4 views
0

Also ich mache ein Werkzeug für PS3 aber ich brauche Hilfe beim Ausführen einer Schaltfläche eine andere Aktion, wenn Sie erneut klicken, das ist was ich habe, aber ich bekomme Fehler, danke.Wenn die Schaltfläche erneut geklickt wird, andere Aktion ausführen

private void metroButton2_Click(object sender, EventArgs e) 
    { 
     byte[] On = new byte[] { 0x00 }; 
     PS3.SetMemory(0x007EDCA4, On); 
    } 
    else 
    { 
     byte[] On = new byte[] { 0x65 }; 
     PS3.SetMemory(0x007EDCA4, Off); 
    } 
+0

Sieht aus wie Sie fehlen 'if' Anweisung und geschweifte Klammern der Methode –

+0

nvm, ich bin neu in der Codierung nur kleine Dinge wissen, weiß ich nicht, was ich gerade mache: P –

+0

überprüfen Sie bitte meine vorgeschlagene Bearbeitung und wenden Sie, wenn es zu Ihrem wirklichen Code passend ist, oder ablehnen Sie und reparieren Sie es selbst –

Antwort

2

Ich sehe, was Sie versuchen, aber Sie können eine else-Anweisung auf diese Weise nicht verwenden. Das Schlüsselwort else kann nur nach einer "if" -Anweisung verwendet werden. Was Sie brauchen, ist eine Art Flag (eine bool-Variable), die Sie zwischen true und false umschalten, um die Ausführung des button_click-Events zu vertauschen.

bool metroBtnFlag = true; 
private void metroButton2_Click(object sender, EventArgs e) 
{ 
    if (metroBtnFlag) 
    { 
     metroBtnFlag = false; 
     //First, third, fifth, etc... click events 
    } 
    else 
    { 
     metroBtnFlag = true; 
     //Second, fourth, sixth, etc... click events 
    } 
} 

Alternativ, wenn Sie nur auf die Schaltfläche wollen etwas das erste Mal zu tun, und dann etwas anderes jeder anderen Zeit zu tun, entfernen Sie einfach eine der Flagge Zuweisungen. Auf diese Weise wird der erste Code-Block nie wieder ausgeführt, wenn er auf false gesetzt ist.

+0

Danke Mann, es funktioniert! –

+0

Kein Problem. Achten Sie darauf, die Frage als gelöst zu markieren. –

Verwandte Themen