2016-07-29 13 views
0

Pls Ich brauche Ihre Hilfe in einigen Fällen über Schaltfläche in C#. Wie kann ich wissen, wenn auf eine bestimmte Schaltfläche geklickt wird? Ich möchte die If-Bedingung verwenden, um das Ereignis zu schreiben. Also möchte ich etwas machen, wenn eine bestimmte Schaltfläche angeklickt wird. Ich möchte den ganzen Code in eine Funktion oder Klasse einfügen, dann kann ich ihn jederzeit aufrufen. Zum BeispielWie Sie wissen, wenn eine Schaltfläche geklickt wird in C#

private void showPanel() 
{ 
    if (dashPanelButton.Clicked == true) 
    { 
     dashPanel.Visible = true; 
    } 
    else if(studInfoBtn.Clicked == true) 
    { 
     studInfoPanel.Visible = true; 
    } 
    else 
    { 
     homePanel.Visible = true; 
    } 
} 

Beachten Sie den obigen Code ist nur eine Annahme nicht wirklich ein Arbeitscode. indem es nur mir erklären

Antwort

0

die Schaltfläche Click Ereignis registrieren und tun, was Sie in der Event-Handler wollen wie

dashPanelButton.Click += new EventHandler(myhandler); 

protected void myhandler(object sender, EventArgs e) 
{ 
    //do whatever you want 
} 
2

Sie nicht „überprüfen, ob eine Schaltfläche geklickt wird“. Der Code wird nicht nur herumsitzen und darauf warten, dass dieser Klick passiert. Stattdessen Sie mit einem Click-Ereignishandler "auf eine Schaltfläche klicken reagieren":

void myButton_Click(Object sender, EventArgs e) 
{ 
    // do something when the button is clicked 
} 

Sie den Handler auf die Schaltfläche in der Designer anhängen können, oder in Code:

myButton.Click += new EventHandler(myButton_Click); 

Nun, wenn Sie will das gleiche Handler für mehrere Tasten verwendet werden, das ist, wo Object sender wird nützlich. Das ist eine Referenz auf das Objekt, das das Ereignis ausgelöst hat. Also in Ihrem Fall wäre es die Taste sein, die angeklickt wurde:

void myButton_Click(Object sender, EventArgs e) 
{ 
    var theButton = (Button)sender; 
    // now "theButton" is the button which was clicked 
} 
+0

Was ich meine ist, ich möchte eine Methode "showPanel()" erstellen, die eine bestimmte Anzeige zeigt, wenn eine bestimmte Schaltfläche geklickt wird. Dann rufe ich die showPanel-Methode in jedem button-Ereignis auf. Wenn also auf eine Schaltfläche geklickt wird, ruft sie die showPanel-Methode auf, und die showPanel-Methode prüft, welche Schaltfläche angeklickt wurde und zeigt dann ein bestimmtes Panel an. Danke –

+0

@OyetokeTobiEmmanuel: In diesem Fall klingt es so, als ob du 'sender' an die' showPanel' Methode übergeben würdest. – David

+0

wie kann ich das tun? –

0

können Sie tun, was Sie wollen, wie folgt aus:

private void showPanel(Object sender, EventArgs e) 
    { 
     if (sender == dashPanelButton) 
     { 
      dashPanel.Visible = true; 
     } 
     else if (sender == studInfoBtn) 
     { 
      studInfoBtn.Visible = true; 
     } 
     else 
     { 
      homePanel.Visible = true; 
     } 
    } 

stellen Sie sicher, Ihre Schaltfläche

dashPanelButton.Click += new EventHandler(showPanel); 
studInfoBtn.Click += new EventHandler(showPanel); 
richtig verdrahtet ist