在我的应用程序中,我在不同的上下文中运行相同的winform来控制按钮的可见性,文本字段和winform标题文本。 我决定这样做的方式是简单地将一个字符串传递给窗体构造函数,并用一些if语句来检查它,这些语句又包含所需的winform调整。构造函数中的虚拟成员调用
if (formContext == "add")
{
Text = "Add member";
}
if (formContext == "edit")
{
Text = "Change role";
userTextBox.Enabled = false;
searchButton.Visible = false;
}
这工作得很好,但是在“文本”关键字得到一个蓝色squigly线由ReSharper的添加了以下消息:在构造函数中Viritual成员通话。 这是一个潜在的问题,或者是某种过度热情的ReSharper消息。
任何澄清或改进我的实施建议将不胜感激。
是的...这是我自己认为的路线。任何关于如何更好地做到这一点的建议。稳定性是这个项目的首要任务,我宁愿避免可能的意外行为。 – Sakkle 2009-01-19 13:02:07
你的意思是除了在基类ctor中不调用虚拟方法之外的建议? :-) 在这种情况下,您可以使用数据绑定将表单的Text属性绑定到GUI模型类中的字符串字段,然后该字段包含决定标题栏应该说什么的必要逻辑。 – mookid8000 2009-01-19 13:10:56
是的......我可能可以,但我不知道从哪里开始,我想我必须对按钮和文本字段做同样的操作。 – Sakkle 2009-01-19 13:48:35