2017-05-27 2 views
0

Donc je fais un outil pour la PS3 mais j'ai besoin d'aide pour faire un autre bouton quand on clique à nouveau, c'est ce que j'ai mais je reçois des erreurs, merci.Lorsque le bouton est cliqué à nouveau faire une autre action

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

Il semble que vous manquiez 'if' déclaration et accolades de la méthode –

+0

nvm, je suis nouveau au codage ne sais que de petites choses que je ne sais pas ce que je fais en ce moment: P –

+0

s'il vous plaît vérifier ma suggestion d'édition et appliquez si c'est approprié à votre vrai code, ou rejetez et corrigez vous-même –

Répondre

2

Je vois ce que vous essayez de faire, mais vous ne pouvez pas utiliser une autre déclaration de cette façon. Le mot-clé else ne peut être utilisé qu'après une instruction "if". Ce dont vous aurez besoin, c'est d'une sorte de drapeau (une variable booléenne) que vous basculez entre true et false pour inverser l'exécution de l'événement button_click.

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 
    } 
} 

Sinon, si vous souhaitez que le bouton pour faire quelque chose pour la première fois, puis faire quelque chose de différent tous les temps, il suffit de retirer l'une des missions de drapeau. De cette façon, quand il est défini sur false, il n'exécutera plus jamais le premier bloc de code.

+0

Merci l'homme, cela fonctionne! –

+0

Pas de problème. Assurez-vous de marquer la question comme résolue. –