C# 使用VisualStudio designer-“;对象引用未设置为对象的实例;(Visual Studio 2008)

C# 使用VisualStudio designer-“;对象引用未设置为对象的实例;(Visual Studio 2008),c#,visual-studio,visual-studio-2008,C#,Visual Studio,Visual Studio 2008,我最近被扔掉了一些C代码,对它做了一些小的修饰。但是,当我在Visual Studio中打开某些文件时,会出现以下错误: 为了防止可能的数据丢失 第一个错误是: 对象引用未设置为对象的实例 我可以很好地跟踪堆栈跟踪,但我不确定在这种情况下我到底应该寻找什么。此外,堆栈跟踪的末尾有一个以“PageScroller..ctor()”结尾的调用 基于谷歌的一些研究,我假设这意味着调用构造函数。这是真的吗?某些自定义控件(可能是PageScroller)在设计模式中有一个bug,显然是从构造函数开始的。

我最近被扔掉了一些C代码,对它做了一些小的修饰。但是,当我在Visual Studio中打开某些文件时,会出现以下错误:

为了防止可能的数据丢失

第一个错误是:

对象引用未设置为对象的实例

我可以很好地跟踪堆栈跟踪,但我不确定在这种情况下我到底应该寻找什么。此外,堆栈跟踪的末尾有一个以“PageScroller..ctor()”结尾的调用


基于谷歌的一些研究,我假设这意味着调用构造函数。这是真的吗?

某些自定义控件(可能是PageScroller)在设计模式中有一个bug,显然是从构造函数开始的。也许构造函数中有一些代码在设计模式下返回null,并且没有检查null。

我偶尔会看到这样的问题。我开始将代码从构造函数移动到加载事件,这很有帮助。

确保自动生成

InitializeComponent();

方法,然后再尝试引用在designer中创建的任何对象。

在C#world中,有许多页面工作正常,但在designer中无法查看,这是常见的(或至少可以接受的)情况吗?看起来我看到的大部分页面都是函数,只是没有显示在设计器中。总的来说,这将使我更容易解决问题,因此我不必学习设计器界面,但我想知道这是否会被视为“坏习惯”。不,这是不可接受的,至少对我来说不是。并非每个控件都需要广泛的设计器支持,但至少应该可以在设计器中打开页面,设置属性,保存页面,并保留属性。非常好。谢谢你的帮助。很高兴看到我不是唯一一个面临这个问题的人。我在设计模式中也有一个返回null。最奇怪的是:我用
MessageBox
放置了一个catch,当我打开tabPage时,它会在编辑器中触发。编辑中!不编译怎么可能呢?@C4ud3x:是什么让你认为它没有编译?显然是这样。设计师的世界是一种开阔心灵的东西,或者是一种损害心灵的东西。