C# Windows Mobile:如何隐藏自定义控件的大小属性
我正在用C#和.Net Compact Framework 2.0 SP2开发一个Windows Mobile WinForm应用程序 我有一个从System.Windows.Form.control继承的控件,我想将该控件设置为私有大小属性。我该怎么做 我试过这个:C# Windows Mobile:如何隐藏自定义控件的大小属性,c#,windows-mobile,custom-controls,C#,Windows Mobile,Custom Controls,我正在用C#和.Net Compact Framework 2.0 SP2开发一个Windows Mobile WinForm应用程序 我有一个从System.Windows.Form.control继承的控件,我想将该控件设置为私有大小属性。我该怎么做 我试过这个: new private Size; 但它没有编译 有什么想法吗?这会奏效: new private Size Size { get { return Size; } set { S
new private Size;
但它没有编译
有什么想法吗?这会奏效:
new private Size Size
{
get { return Size; }
set { Size = value; }
}
但是,不建议隐藏Size属性。您基本上违反了控件的约定,当其他类尝试与它交互时,您可能会遇到运行时异常。这将起作用:
new private Size Size
{
get { return Size; }
set { Size = value; }
}
但是,不建议隐藏Size属性。您基本上违反了控件的约定,当其他类尝试与它交互时,您可能会遇到运行时异常。只需在您的控件中创建一个具有相同名称大小的公共属性:
public Size Size
{
get { return base.Size; }
set { base.Size = value; }
}
然后,您可以在setter中执行一些操作,以防止控件大小更改为与图像不匹配的大小。只需在控件中创建一个具有相同名称大小的公共属性:
public Size Size
{
get { return base.Size; }
set { base.Size = value; }
}
然后,您可以在setter中执行一些操作,以防止控件大小更改为与图像不匹配的大小。也许对属性的set部分执行private操作可以解决您暴露的问题。我的控件包含一个图像,我希望该控件具有与图像相同的大小,并且任何控件都不能更改其大小。也许对属性的设置部分进行私有化可以解决您暴露的问题。我的控件包含一个图像,我希望该控件具有与图像相同的大小,并且没有人可以更改其大小。