【问题标题】:Adding property to child controls向子控件添加属性
【发布时间】:2012-10-15 02:17:09
【问题描述】:

如果您在 .Net 中有一个容器,是否可以向添加到该控件的任何子项添加属性?

TableLayoutPanel 似乎可以做到这一点,如果你添加一个控件,比如一个面板,该控件有新的属性,单元格、列、行、colSpan、RowSpan。如果您将控件移动到另一个面板,或者只是在 TableLayoutPanel 之外,属性就会消失。

这是如何实现的?

【问题讨论】:

    标签: .net properties tablelayoutpanel childcontrol


    【解决方案1】:

    TableLayoutPanel 控件实现了IExtenderProvider 接口,并添加了具有您上面提到的名称的ProvideProperty 属性 - 产生了您询问的这个“附加属性功能”。

    我建议您挖掘其原始源代码以获取有关此实现的更多信息。

    (如果您没有 .NET 反汇编器,您可能会得到一个好的免费的 here。)

    IExtenderProvider 入门的一些来源:

    【讨论】:

    • 我正在使用 dotPeek 查看原始来源,但不太确定要查找什么。现在我有方向了,谢谢!并感谢您的及时答复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 2011-03-12
    • 2011-04-07
    • 2012-04-13
    相关资源
    最近更新 更多