有人有任何想法如何停止使用自定义用户控件时重置属性?
与问题类似:How can I avoid properties being reset at design-time in tightly bound user controls?
我已经尝试了链接问题中的解决方案,但是它们一直在重置。
下面的示例属性:注意,我尝试使用一个简单的属性,但是每次编译包含表单时,它们都会不断重置为false。
[DefaultValue(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[Description("Appearance")]
[EditorBrowsable(EditorBrowsableState.Always)]
public bool ImportFilenameShown
{
get { return txtImportFile.Visible; }
set
{
txtImportFile.Visible = value;
lblImportFile.Visible = value;
btnImportMappings.Visible = value;
btnImportFileBrowse.Visible = value;
}
}
任何帮助都会很好。这真让我抓狂。
最佳答案
如果txtImportFile
的父母之一被隐藏,txtImportFile.Visible
将始终返回false。
因此,设计人员将序列化错误的值。
相反,您应该将值存储在单独的后备字段中
关于c# - 设计器在编译时会重置属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15952165/