2016-07-29 29 views
0

请在某些情况下,我需要您在C#中关于按钮的帮助。如何知道何时点击某个按钮?我想使用if条件语句来编写事件。所以我希望它在点击特定按钮时执行某些操作。我想把所有的代码放在一个函数或类中,然后我可以随时调用它。例如如何知道在C中单击按钮的时间#

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

注意上面的代码只是一个假设,不是一个真正的工作代码。只是用它来解释自己

回答

0

注册按钮Click事件做任何你想做的事件处理程序像

dashPanelButton.Click += new EventHandler(myhandler); 

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

你不“检查是否有按钮被按下”。该代码不会坐下来等待点击发生。相反,你“回应一个按钮,然后点击”与Click事件处理程序:

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

您可以将处理程序附加到按钮在设计或代码:

myButton.Click += new EventHandler(myButton_Click); 

现在,如果你想要为多个按钮使用相同的处理程序,这就是Object sender变得有用的地方。这是提到事件的对象。所以你的情况,这将是它被点击的按钮:

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

我的意思是我想创建一个方法“showPanel()”,当某个按钮被点击时它将显示一个特定的面板。然后我在每个按钮事件中调用showPanel方法。因此,无论何时单击按钮,它都会调用showPanel方法,并且showPanel方法将检查单击哪个按钮,然后显示特定的面板。谢谢 –

+0

@OyetokeTobiEmmanuel:在这种情况下,您听起来好像将'sender'传递给'showPanel'方法。 – David

+0

我该怎么做? –

0

你可以做你想做的,是这样的:

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

确保您的按钮的接线是否正确

dashPanelButton.Click += new EventHandler(showPanel); 
studInfoBtn.Click += new EventHandler(showPanel); 
相关问题