C# - Visual Studio 在其他控件上添加 UserControl 时强制终止
C# - Visual Studio is forced terminated when UserControl is added on other control
.NET 框架 3.5
我制作了一个简单的 UserControl,由 label1 和 label2 组成。
我重写了字体属性。
public override Font Font
{
get
{
return this.Font;
}
set
{
label1.Font = value;
label2.Font = value;
}
}
然后我在其他窗体上添加了UserControl。
然而 visual studio 被强制终止。
这段代码有什么问题?
如果您只想覆盖 setaccessor,请使用:
public override Font Font
{
set
{
label1.Font = value;
label2.Font = value;
}
}
永远不要打电话给
get
{
return this.Font;
}
因为它是递归调用,它会导致您的崩溃问题。
这是一个无限循环!如果您尝试获取 Font (auto-)属性,它将尝试获取 Font (auto-)属性 等等...
public override Font Font{
get
{
return this.Font; ←This calls itself
}
.NET 框架 3.5 我制作了一个简单的 UserControl,由 label1 和 label2 组成。
我重写了字体属性。
public override Font Font
{
get
{
return this.Font;
}
set
{
label1.Font = value;
label2.Font = value;
}
}
然后我在其他窗体上添加了UserControl。
然而 visual studio 被强制终止。
这段代码有什么问题?
如果您只想覆盖 setaccessor,请使用:
public override Font Font
{
set
{
label1.Font = value;
label2.Font = value;
}
}
永远不要打电话给
get
{
return this.Font;
}
因为它是递归调用,它会导致您的崩溃问题。
这是一个无限循环!如果您尝试获取 Font (auto-)属性,它将尝试获取 Font (auto-)属性 等等...
public override Font Font{
get
{
return this.Font; ←This calls itself
}