簡體   English   中英

如何知道何時在C#中單擊按鈕

[英]How to know when a button is clicked in C#

請在某些情況下需要有關C#中按鈕的幫助。 我如何知道何時單擊特定按鈕。 我想使用if條件語句編寫事件。 因此,我希望它在單擊特定按鈕時能夠執行某些操作。 我想將所有代碼放在一個函數或類中,然后我可以隨時調用它。 例如

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

注意上面的代碼只是一個假設,並不是真正的工作代碼。 只是用它來解釋自己

您不會“檢查是否單擊了按鈕”。 代碼不會只是閑坐着等待點擊發生。 而是使用單擊事件處理程序來“響應按鈕單擊”:

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
}

注冊按鈕Click事件並在事件處理程序中執行所需的操作

dashPanelButton.Click += new EventHandler(myhandler);

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

您可以執行所需的操作,如下所示:

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM