詳解令VS2008崩潰的WinForm用戶控件
在使用Visual Studio 2008的過程中,我們會碰到各種各樣的問題。今天,使用VS2008做了一個WinFom的用戶控件,編寫代碼時犯了一個“小小”的錯誤,確付出了慘重的代價。
下面就還原一下“案發現場”:
1.新建一個Window窗體應用程序項目:
2.向項目中添加一個用戶控件:
3.打開UserControl1,向其添加一個TextBox
4.轉到代碼,寫一個屬性Text,在19~23行
注意21行中,使用return Text,就是我犯的“小小”錯誤。它的本意如下:
真正應該返回的textBox1的Text屬性。因為這個屬性太“簡單”了,沒放在心上,代碼又有智能提示…
5.打開Form1,從工具箱中將這個用戶控件置入窗體:
6.錯誤出現了:
點擊確定,VS2008就關閉了。
為了解決這個問題,我花費了一個多小時的時間!大家不要取笑,我的實際情況要比上述復雜的多:用戶控件的代碼近千行,而且控件已經置入窗體,錯誤是編譯生成時出現的,而且沒有任何提示(VS2008直接關閉)。重復打開項目無數次,一編譯就關掉,又來回反復的檢查代碼…
其實發生錯誤的原因很簡單,就是一個StackOverflow。
原文標題:讓VS2008崩潰的WinForm用戶控件
鏈接:http://www.cnblogs.com/ldp615/archive/2009/11/25/vs2008_UserControl_StackOverflowException.html