C# 覆盖属性

标签 c# .net winforms

我有一个包含文本框和面板的控件。我需要从文本框中的面板 ForeColor 转移。我这样做了,但不起作用。

public Color ForeColor
{
    get
    {
        return transparentTextBox.ForeColor;
    }
    set
    {
        transparentTextBox.ForeColor = value;
    }
}

最佳答案

分步进行:

  1. 不要将TextBoxPanel暴露给外界,将它们设为私有(private)控件(对包含的Control私有(private))他们)。您的控件可能会公开 Text 等属性(然后在 TextBox 上获取/设置相同的属性)。

  2. 公开类型为 ColorPanelColor 属性。设置此属性后,在 PanelTextBox 中设置该颜色。

这样,您的 Control 只公开它必须公开的属性(Encapsulation 原则),您可以以任何您想要的方式对属性更改使用react。

关于C# 覆盖属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18845251/

相关文章:

c# - WPF 所见即所得编辑器

c# - 如何使用反射调用泛型类的静态属性?

c# - WPF 应用程序中的颠倒浏览器

c# - 音频从输入到扬声器的硬件直通 - 不是在软件中完成

c# - Virtual Piano UWP C# 中的黑键实现

c# - angularjs : how to get a value from asp . 输入类型隐藏的网页?

c# - 将启用 Ajax 的 WCF 服务公开给 C# 代码

c# - 交互式设计时用户控制

C# 将通过远程桌面(或其他)在本地运行的 WinForm 应用程序连接到数据库

c# - 将对象转换为 IEnumerable