2016-03-16 61 views
0

我是Visual Studio和C#的新手。我創建了我的第一個項目 - 使用MySql的庫存應用程序 - 並且一切正常。但我需要在表單中添加一個新按鈕來刪除記錄,所以我將它從工具箱中拖出來,更改了文本(「刪除產品」)並更改了設計名稱(「DelBtn」)。添加工具沒有創建事件處理程序,所以我加入了MessageBox的測試如下:添加到Visual Studio C#項目中的按鈕無法識別Click事件

private void DelBtn_Click(object sender, EventArgs e) 
{ 
    MessageBox.Show("Delete button clicked"); 
} 

單擊該按鈕,但沒有效果,沒有消息框或其他任何東西。有人可以幫忙嗎?

+1

您需要訂閱它。 'DelBtn.Click + = DelBtn_Click;'在窗體的構造函數中或雙擊屬性框中的Click事件(參見屬性框中的閃電)。 – LarsTech

回答

3

轉到您的表單設計器,右鍵單擊您的按鈕,然後選擇「屬性」。在屬性窗口中,會出現一個「事件」按鈕(它看起來像一個閃電)。點擊該按鈕,然後查找按鈕的Click事件。確保在那裏列出DelBtn_Click。那時,按鈕應該用你的代碼來回應。

希望這會有所幫助!

+0

謝謝!修復事件屬性糾正了問題。順便說一下,它也使Visual Studio崩潰,但它正確地重新啓動。 – japat

0

你需要在你的designer.cs委派事件,如果你想:

DelBtn.Click += new System.EventHandler(this.DelBtn_Click); 
0

只需添加具有相同名稱的方法,VS會作出對你不會的事件綁定到方法。打開按鈕的屬性,並在結果面板的頂部,您會看到一個閃電。點擊它並找到你想要的事件並在那裏輸入你的方法名稱。

1

您需要確保您已正確連接處理程序。查找與您的表單一起生成的設計器文件(我假設這是winforms)。

enter image description here

然後你需要這樣的線在你InitializeComponent方法:

this.button1.Click += new System.EventHandler(this.DelBtn_Click); 

你不做到這一點在你的設計師文件,你可以在任何地方做你希望在你的表單顯示之前運行,例如構造函數。但在我看來,像你所做的一樣 - 也許是通過手動重命名你的事件處理程序方法 - 已經破壞了我上面提到的自動生成的設計器代碼,並且你可能只需要修復那些已經存在的代碼。

0

你需要去表單上,點擊按鈕,在屬性菜單上你需要點擊事件,找到onclick並雙擊空白。 它會自動爲您創建onclick方法。

相關問題