我寫了一個小的System.Windows.Forms.UserControl,稱之爲userControl1
,這似乎是以我想要的方式工作。我的用戶控件每當我把它添加到表單時崩潰Visual Studio
從Visual Studio 2010的Designer中,我可以從工具欄中拖動userControl1
並將它放在Windows窗體上,我將調用testForm1
。我可以連線userControl1
,它可以正常工作。
但是,userControl1
的目的是爲了能夠在另一個UserControl中使用它,我們將其稱爲userControl2
。
在Visual Studio 2010的設計中,如果我從工具欄拖到userControl1
其拖放到userControl2
時,Visual Studio 2010將沒有比它正在重新啓動其他消息崩潰。
在此同時,應用程序錯誤記錄在事件查看器事件ID 1000:
Faulting application name: devenv.exe, version: 10.0.40219.1, time stamp: 0x4d5f2a73
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc00000fd
Fault offset: 0x0965f816
Faulting process id: 0x1580
Faulting application start time: 0x01cd90f84338e443
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
Faulting module path: unknown
Report Id: 49ddcedf-fcf8-11e1-8016-00248103a942
我怎麼可以去嘗試調試這個錯誤?我應該看看userControl1
或userControl2
?
幾個注:
1)I也可從工具欄拖動
userControl2
到testForm1
,它工作(無論是在VS2010設計器,當我運行測試程序即顯示器)細。2)我已經成功地進入了的
userControl2
的設計師,我聲明並設置所有值的userControl1
,但在運行時userControl1
不會在testForm1
顯示。如果我從VS2010 Designer的userControl2
屬性窗口中選擇userControl1
,Visual Studio將會崩潰。3)我很高興發佈代碼,如果有幫助。您希望代碼爲
userControl1
還是userControl2
?雖然這兩個控件很小,仍然有大量的代碼(尤其是因爲這個錯誤在設計可能發生的,所以我必須張貼,太。
運行Visual Studio的兩個實例,在兩個實例中打開該項目,並在其中一個實例中使用*** Attach to process ...***選項來調試它(* devenv.exe *進程)。您應該能夠看到異常情況。 –
UserControl中的一些代碼也在設計時運行。該代碼有一個錯誤,它會觸發StackOverflowException。一個相當致命的錯誤,也會導致VS下降。尋找遞歸屬性setters/getters,如果找不到它,請註釋掉它。 –
你能發表一個代碼示例嗎? – bryanbcook