[英]C# equivalent to VB.NET 'Handles button1.Click, button2.Click'
在VB.NET中,我可以做
private sub button_click(sender, e) handles Button1.Click, Button2.Click etc... do something... end sub
在C#.NET中是否有針對此的方法? 我大約有16個按鈕,它們都調用相同的函數,只是將按鈕的文本傳遞給該函數。 我寧願沒有16 private void button_clicks
調用一個函數。
我不確定如何執行此操作(對C#不太了解。)
Button1.Click += button_click;
Button2.Click += button_click;
您可以手動執行以下操作:
button1.Click += button_Click;
button2.Click += button_Click;
...
在Designer中,Click事件屬性實際上是一個下拉菜單,您可以在其中選擇具有適當簽名的現有方法。
C#沒有Handles
關鍵字。
相反,您需要顯式添加處理程序:
something.Click += button_click;
somethingElse.Click += button_click;
嘗試這個:
button1.Click += button_click;
button2.Click += button_click;
如果您想保持它的可維護性,我會選擇這樣的方法:
//btnArray can also be populated by traversing relevant Controls collection(s)
Button[] btnArray = new Button[] {button1, button2};
foreach(Button btn in btnArray) {
btn.Click += button_Click;
}
對該代碼的任何重構都是通過單點維護完成的。 例如:
btn1.Click += button_click;
btn2.Click += button_click;
就是答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.