2012-02-15 60 views
0

我有一個具有多種表單的項目。對項目數據集進行一些更改後,一個表單上的Load事件停止工作(儘管表單正確顯示)。表單本身沒有改變。作爲一個快速的解決方法,我創建了Shown處理函數(通過VS IDE)並將代碼放在那裏,但它也沒有觸發(我創建了測試消息框以確保它不是調試器的問題)。某些表單事件(加載,顯示)停止工作

另一方面,許多事件都可以工作,例如,我嘗試過激活,它的工作原理,但它對我沒有用處。

有一個在了.Designer.cs相應的行:

this.Load += new System.EventHandler(this.FormZlecenie_Load); 

我比較了這種形式(的.cs,的.resx,了.Designer.cs)與備份我做了連接三個文件在對數據集進行更改之前幾乎沒有差異(並且備份工作沒有問題)。

我不想恢復備份,因爲我需要在數據集中進行這些更改並且有很多。

我也刪除了所有二進制文件夾(bin,obj)但沒有成功。

我在網上找過類似的問題,但我發現的唯一解決方案是重新創建表單。這對我來說是最後的選擇,因爲這樣會比較費時,而且我不喜歡輕易放棄。

那麼我還應該看哪裏?我沒有想法。

+0

您是否使用64位版本的Windows?您是否在輸出窗口中看到「第一次機會異常」? – 2012-02-15 13:25:53

+0

是的,它是64位Windows 7.我的項目是在Net 2.0下,我看到「一次機會例外」是Net 4.0的事情。但是我已經在Net 4.0下重新編譯了,並且在輸出窗口中沒有這個消息。 – killgore 2012-02-16 09:07:19

+1

[VS2010在64位WinForms應用程序中未顯示未處理的異常消息]的可能重複(http://stackoverflow.com/questions/4933958/vs2010-does-not-show-unhandled-exception-message-in-a -64-bit-winforms-applicatio) – 2012-02-16 10:27:40

回答

1

我會進入窗體設計器並確保該事件顯示在屬性窗口中。如果它在那裏,然後刪除它,建立你的項目,然後再手動重新添加它。

如果這不起作用,請進入表單的構造函數,並使用您在問題中給出的代碼示例手動註冊該事件。調試以查看事件是否觸發。

接下來,嘗試對事件處理程序使用不同的方法。只是使用「this.load + =」時自動生成的那個。

最後,最壞的情況下,您可以重新創建表單並複製當前表單中的元素。有時設計師擰緊表格並且無法修復。

希望這會有所幫助!

0

檢查窗體類的構造函數中的InitializeComponent();的調用。 表格部分仍然沒有通話的工作。甚至有些形式特定的事件被調用。但是表單上的控件不會被創建,並且this.Load等事件不再起作用。

1

看看你的代碼中的綁定。有時事件會在綁定錯誤時被忽略(即綁定到Thread.IsAlive--我的情況)。

相關問題