我有一个winforms应用程序,有时需要间接地从类Form继承
示例
public class FormTest : TemplateForm
{
}
public class TemplateForm : Form
{
}问题是FormTest的设计是禁用的,因为它不是直接从Form类继承的。

当我进入Show Call Stack的时候
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload) 那么,当在继承树中检测到Form类时,如何更改这种行为并使设计启用,我的意思是如何使表单的设计启用?
发布于 2014-07-23 07:50:17
您所要求的特性是视觉继承,确保至少为您需要在派生类中访问的控件提供了protected访问权限。然后你就可以在设计师中访问它们了。
注意:尽管如此,一些控件(如DataGridView、TableLayoutPanel等)阻止通过designer通过派生类编辑它们。我不知道为什么。
https://stackoverflow.com/questions/24904572
复制相似问题