在VS2010中,我有一个项目的目标是.NET Framework 4.0,但后来不得不改为目标版本为3.5。一旦这样做,我之前添加的SplitContainer对象就无法显示,并且会抛出一个错误:“无法将类型为'System.Windows.Forms.SplitContainer'的对象强制转换为类型'System.ComponentModel.ISupportInitialize'”。
现在,我查了一些资料发现,3.5实际上没有对SplitContainer使用ISupportInitialize,而.NET 4.0中则有。我的问题是,如果我仍然要将目标设置为3.5并且还遇到了这个问题,我该如何纠正呢?
重现问题的步骤:
1. 在Visual Studio 2010中创建一个新的C# Windows Forms应用程序项目(确保目标为.NET Framework 4.0)。 2. 将一个SplitContainer添加到基本表单中。 3. 运行应用程序(可以正常运行)。 4. 更改目标为.NET Framework 3.5(属性->应用程序->目标框架:)。 5. 重新运行应用程序(它将因转换异常而崩溃)。
希望能得到任何关于此问题的帮助和支持!
现在,我查了一些资料发现,3.5实际上没有对SplitContainer使用ISupportInitialize,而.NET 4.0中则有。我的问题是,如果我仍然要将目标设置为3.5并且还遇到了这个问题,我该如何纠正呢?
重现问题的步骤:
1. 在Visual Studio 2010中创建一个新的C# Windows Forms应用程序项目(确保目标为.NET Framework 4.0)。 2. 将一个SplitContainer添加到基本表单中。 3. 运行应用程序(可以正常运行)。 4. 更改目标为.NET Framework 3.5(属性->应用程序->目标框架:)。 5. 重新运行应用程序(它将因转换异常而崩溃)。
希望能得到任何关于此问题的帮助和支持!
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
的行即可。 - tomash