【发布时间】:2016-04-14 18:19:45
【问题描述】:
我使用了一个名为“CustomForm”的表单,以便在我制作的所有表单中都有一致的设计。所有子表单都从它继承,就像在“class childForm:CustomForm”中一样。我删除了自定义表单上的窗口边框并制作了我自己的,所以我有窗口标题的标签。我创建了一个受保护的属性来修改该标签的文本。
由于某种原因,当我尝试打开子窗体的设计器时,它说:
“Quiz.CustomForm”类型没有名为“WindowTitle”的属性。
我希望能够通过表单属性的“杂项”部分中的设计器来编辑此属性。这以前有效,我不知道我做了什么来打扰它。如果我进入设计器文件并进入 InitalizeComponent,它会显示 'this.WindowTitle = "The string here"'。并且没有错误,因为我在父表单中为它创建了一个受保护的属性。 IDE 没有下划线,但是当我尝试加载设计器时收到上述错误。
CustomForm 类中的属性如下所示:
protected string WindowTitle
{
get { return lbl_windowTitle.Text; }
set { lbl_windowTitle.Text = value; }
}
我尝试公开该属性,但没有任何区别。
【问题讨论】:
-
@IvanStoev OP 声称他们在最后一句话中尝试过没有区别
-
@rene 虽然我很确定非公共属性不会显示在属性网格中,所以没有办法通过设计器编辑它。因此,无论 OP 声明如何,问题肯定是由属性不是
public引起的。
标签: c# forms inheritance