我有一个包含文本框和面板的控件。我需要从文本框中的面板 ForeColor 转移。我这样做了,但不起作用。
public Color ForeColor
{
get
{
return transparentTextBox.ForeColor;
}
set
{
transparentTextBox.ForeColor = value;
}
}
最佳答案
分步进行:
不要将
TextBox
和Panel
暴露给外界,将它们设为私有(private)控件(对包含的Control
私有(private))他们)。您的控件可能会公开 Text 等属性(然后在 TextBox 上获取/设置相同的属性)。公开类型为
Color
的PanelColor
属性。设置此属性后,在Panel
和TextBox
中设置该颜色。
这样,您的 Control
只公开它必须公开的属性(Encapsulation 原则),您可以以任何您想要的方式对属性更改使用react。
关于C# 覆盖属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18845251/