![](/img/trans.png)
[英]Why does VS2017 show me the member values of derived classes when I watch the base class object in the watch view?
[英]Why does VS2017 keep losing my derived controls?
在我的应用程序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
),并成功地将它们放到了主窗体中。 暂时一切都很好,但是最终,我将打开主窗体。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设计器窗口以重新应用丢失的控件,但是问题仅在新应用的控件中重复出现
到底他妈发生了什么? 有办法从这种情况中恢复吗?
这很可能是设计器无法清除/重新加载其缓存的问题。 您无能为力。 过去我:
使用前两个选项,我获得了不同的成功。 重新打开设计器不是很方便,并且不起作用。
最后一个选项是最好的,但也是最烦人的,因为每次调整都需要重建项目并更新参考/软件包。
还要确保您创建的所有控件都具有公共默认构造函数,并且在使用此构造函数时可以正常运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.