2013-05-04 22 views
0

這對一些人來說可能看起來像一個有趣的問題,但我從VB中調用,所以它看起來有點奇怪。爲什麼當你從另一個表單複製控件,然後將代碼複製到C#後面的代碼中時,它不會自動綁定到該控件,即使它在Visual Studio中具有控件名稱和事件?在C#中粘貼控件事件代碼#

我知道VB有額外的代碼來顯示它處理控件事件,所以它使它有點不同,但它使得難以從其他地方粘貼大量的代碼..所以我傾向於懷疑我是否我錯過了什麼。

我已經在Visual Studio使用VB.net代碼編輯器有一個事件下拉,顯示所有的控制活動,並在C#那隻能說明他們中有代碼的人注意到的另一件事。查看VS中所有事件的唯一方法是屬性瀏覽器的events列。

再次對不起我的無知,但我想確保我是儘可能有效,並希望確保我不會有一些選擇關閉或東西。

+0

@Idle_Mind,您的評論應該是一個答案。 – gunr2171 2013-05-04 20:37:53

+0

發表我以前的評論作爲答案。謝謝@ gunr2171。 – 2013-05-04 20:39:45

回答

1

這是來自VB人們的常見抱怨。 VB.Net使用「WithEvents/Handles」組合來允許代碼處理事件,這就是爲什麼您可以將代碼複製粘貼到不同的表單。 C#沒有這樣的等價物。但是,您可以在C#中執行操作,VB.Net不能。例如,您可以在代碼中連接事件,IDE將自動爲您插入帶有正確簽名的方法存根。要在VB中執行此操作,需要在類級別單獨提供WithEvents聲明,然後從IDE下拉列表中選擇控件/事件。沒有更好,只是不同!

+0

謝謝你閒着。我很高興地發現,我並沒有錯過任何東西,雖然在這方面它並不像vb那麼簡單,但有點失望。 – user1632018 2013-05-05 01:20:33

+0

我花了一小會兒,但現在我已經習慣了在切換到窗體設計視圖,選擇控制,擊中屬性面板中的「閃電」圖標,找到我想要的事件,然後雙擊向右它得到一個方法存根處理程序爲我輸入。 – 2013-05-05 01:59:43