我有一個簡單的菜單,其中的按鈕。每個按鈕打開另一個表單。用相同的邏輯處理幾種方法是否有一種常見的做法?
public void apartmentDetailsButton_Click(object sender, EventArgs e)
{
using (var form = new ApartmentDetails.View())
{
form.ShowDialog(this);
}
}
public void remindersButton_Click(object sender, EventArgs e)
{
using (var form = new Reminders.View())
{
form.ShowDialog(this);
}
}
public void paymentsButton_Click(object sender, EventArgs e)
{
using (var form = new Payments.View())
{
form.ShowDialog(this);
}
}
public void documentsButton_Click(object sender, EventArgs e)
{
using (var form = new Documents.View())
{
form.ShowDialog(view);
}
}
正如您所看到的,除了包含所需表單的命名空間外,事件處理程序幾乎完成同樣的事情。現在,如果我有更多的按鈕呢?我應該每次都真的複製粘貼這個方法嗎?
是否有可能爲所有按鈕使用一個事件處理程序或概括現有的處理程序?
您可以讓一個事件方法處理多個按鈕。只需使用'+ ='更改註冊事件的方法名稱即可。 – jdweng
謝謝。我怎麼知道要引用哪個名稱空間? – Sipo
@Sipo:發件人參數是對被點擊的按鈕的引用 - 所以你可以檢查以查看哪個命名空間是必需的。 – PaulF