我想做這樣的事情:Button btn1 = new Button();btn1.Click += new EventHandler(btn1_Click);Button btn2 = new Button();// Take whatever event got assigned to btn1 and assign it to btn2.btn2.Click += btn1.Click; // The compiler says no...其中btn1_Click已在類中定義:void btn1_Click(object sender, EventArgs e){ //}當然,這不會編譯(“事件'System.Windows.Forms.Control.Click'只能出現(xiàn)在+ =或 - =”的左側(cè))。有沒有辦法從一個控件獲取事件處理程序并在運行時將其分配給另一個控件?如果那是不可能的,重復事件處理程序并在運行時將其分配給另一個控件嗎?有幾點:我已經(jīng)用谷歌搜索了一段時間,但卻發(fā)現(xiàn)沒辦法做到這一點。大多數(shù)嘗試過的方法都涉及反射,因此如果您閱讀我的問題并認為答案非常明顯,請首先嘗試在Visual Studio中編譯代碼?;蛘?,如果答案確實非常明顯,請隨時給我打電話。謝謝,我真的很期待看到這是否可行。我知道我可以這樣做:btn2.Click += new EventHandler(btn1_Click);這不是我在這里尋找的東西。這也不是我想要的:EventHandler handy = new EventHandler(btn1_Click);Button btn1 = new Button();btn1.Click += handy;Button btn2 = new Button();btn2.Click += handy;
- 3 回答
- 0 關(guān)注
- 476 瀏覽
添加回答
舉報
0/150
提交
取消