C# 防止控制';要设置的大小属性?

C# 防止控制';要设置的大小属性?,c#,winforms,properties,user-controls,overriding,C#,Winforms,Properties,User Controls,Overriding,我试图创建一个自定义的面板类,它不允许在类之外设置它的大小。 我尝试的是: public class FixedPanel : Panel { public override Size Size { get; private set; } } 但是,我收到一个错误,即FixedPanel.Size.set:无法重写继承的成员'System.Windows.Forms.Control.Size.set',因为它未标记为虚拟、抽象或重写 有没有办法阻止用户设置控件的大小 编辑:我想出了一

我试图创建一个自定义的
面板
类,它不允许在类之外设置它的大小。 我尝试的是:

public class FixedPanel : Panel
{
    public override Size Size { get; private set; }
}
但是,我收到一个错误,即
FixedPanel.Size.set:无法重写继承的成员'System.Windows.Forms.Control.Size.set',因为它未标记为虚拟、抽象或重写

有没有办法阻止用户设置控件的大小


编辑:我想出了一个更简洁的解决方案,不再需要分别设置两个属性,但我不确定这是否真的是一种正确的方法。 下面是我要做的:

private Size fixedSize;
private void SetFixedSize(Size size=null)
{
    if (size)
        this.fixedSize = size;

    if (this.Size != this.fixedSize)
        this.Size = this.fixedSize;
}

public FixedPanel()
{
    this.SizeChanged += SetFixedSize;
}
试用新的:

public class FixedPanel : Panel
{
    public new Size Size { get; private set; }
}