1

我目前正在为我们尝试在 c# 中为 .Net 2.0 实现的自定义选项卡控件组合一个原型。由于控件本身工作正常,我们现在正在尝试集成完整的设计时行为。这确实包括一个自定义 CodeDomSerializer 在某个点告诉标签也必须添加。现在确实可以正常工作(经过更长的反复试验过程)。

但是还有一个问题似乎与反序列化有关。设计器代码创建得很好,设计器看起来也一样。但是当我点击重建项目时,表单设计器有时会显示此错误:

The variable 'piTabControl1' is either undeclared or was never assigned

http://msdn.microsoft.com/en-us/library/4008y84t(v=vs.80).aspx

该错误并非每次都出现,但是当我刚刚添加一个新选项卡时它总是会发生。错误指向这一行:

this.Controls.Add(this.piTabControl1);

但我知道该变量已分配,因为这是在前几行的代码中:

this.piTabControl1 = new pdfforge.PdfCreator.Controls.PiTabControl();

该应用程序还可以正确显示所有内容并编译和运行。如果我关闭设计器并重新打开它,它也会显示而没有该错误。所以我怀疑在反序列化代码或更新设计器时出现了问题。

我在这里上传了完整的解决方案,因为这里粘贴的代码太多了:

http://www.chinery.de/dateien/TabControlTest.zip

要在项目中重现这一点,您首先必须重新编译整个解决方案以编译自定义控件。然后你可以打开 Form1 并点击重建。如果它没有产生错误,您可以尝试在选项卡控件中添加或删除选项卡。

我真的不知道如何处理这个问题,因为我无法告诉表单设计器的内部状态。我非常感谢任何提示。如果需要,我还可以在此处添加特定的代码片段。

4

0 回答 0