在我的应用namespace = DRT
中,我正在创建从相应的Windows控件类派生的控件类(例如,按钮,文本框),例如
internal abstract class DRT_Button_Abstract : Button
{
....
}
internal class DRT_Button_CancelSearch : DRT_Button_Abstract
{
....
}
internal class DRT_Button_StartSearch : DRT_Button_Abstract
{
....
}
总之,我目前有13个派生类,它们来自我的一个摘要或Windows控件类。成功构建后,我在工具箱上看到了我的控件类(例如DRT_Button_CancelSearch
和DRT_Button_StartSearch
),并成功将它们放到我的主窗体上。一切都很好,但最终,我将打开主要的form.cs [设计](即UI设计师),它将为我的控件的某些组合显示错误The variable '{control property name}' is either undeclared or was never assigned.
。
当我检查主窗体Designer.cs文件时,所有控件的预期代码都出现在预期的new
语句之外。它们不在主表单Designer.cs文件中。例如,我希望看到this.drt_Button_CancelSearch = new DRT.DRT_Button_CancelSearch();
,但缺少
我已经尝试忽略错误,继续到UI设计器窗口重新应用丢失的控件,但问题只是重新使用新应用的控件
到底发生了什么事?有没有办法从这种情况中恢复过来?
答案 0 :(得分:1)
这很可能是Designer无法清除/重新加载其缓存的问题。你无能为力。在过去我:
前两个选项我取得了不同的成功。重新打开设计师不是很方便,也不起作用。
最后一个选项是最好的但也是最烦人的,因为每次调整都需要重建项目并更新参考/包。
还要确保您创建的所有控件都具有公共默认构造函数,并在使用此构造函数时运行良好。