我正在尋找簡化以下操作:單擊一個面板,面板將其顏色更改爲綠色,如果它是綠色,則將其更改爲灰色。我想知道如何將控件作爲參數寫入方法,以便它可以用於任何控件而不必複製事件方法。C#簡化點擊事件方法以包含其他控件
通常情況下:面板中點擊事件
panel_Click()
//some if statement
panel1.BackColor = green
panel1.BackColor = gray
那麼每個控制重複。取而代之的是,我想創建所有的控件都訂閱到中央方法,即閱讀面板類似的名稱:
genericpanel_Click(){
ChangeColor(thisPanelname);
}
,然後會利用參數/參數:
public void ChangeColor(panel? Mypanel) {
//some if...
Mypanel.BackColor = Green
Mypanel.BackColor = Gray
}
什麼是這個僞代碼到工作的準確等值?
編輯:好的,是的,我現在可以看到它是重複的,不需要進一步下調。我只是不知道要具體搜索什麼。無論如何,我現在已經找到了答案。
在事件方法中包含'object sender'參數,將其轉換爲面板並更改其顏色? – schroedingersKat