2012-10-24 99 views
0

如果在.Net中有一個容器,是否可以將屬性添加到添加到該控件的任何子項中?將屬性添加到子控件

TableLayoutPanel似乎這樣做,如果添加一個控件,比如一個面板,控件具有新的屬性,單元格,列,行,colSpan,RowSpan。如果將控件移動到另一個面板,或者只是在TableLayoutPanel之外,則屬性會消失。

這是如何實現的?

回答

2

TableLayoutPanel控件實現IExtenderProvider接口,並將ProvideProperty屬性添加到上面提到的名稱中 - 從而生成此查詢的「附加屬性功能」。

我會建議您挖掘其原始源代碼以獲取有關此實現的更多信息。

(如果你沒有一個.NET反彙編,你可能會得到一個良好的和免費的here

一些消息來源上手IExtenderProvider:

+0

I正在用dotPeek調查原始資料,但我不太確定要查找什麼。現在我有了方向,謝謝!並感謝您的及時答覆。 – Apeiron