0
如果在.Net中有一個容器,是否可以將屬性添加到添加到該控件的任何子項中?將屬性添加到子控件
TableLayoutPanel似乎這樣做,如果添加一個控件,比如一個面板,控件具有新的屬性,單元格,列,行,colSpan,RowSpan。如果將控件移動到另一個面板,或者只是在TableLayoutPanel之外,則屬性會消失。
這是如何實現的?
如果在.Net中有一個容器,是否可以將屬性添加到添加到該控件的任何子項中?將屬性添加到子控件
TableLayoutPanel似乎這樣做,如果添加一個控件,比如一個面板,控件具有新的屬性,單元格,列,行,colSpan,RowSpan。如果將控件移動到另一個面板,或者只是在TableLayoutPanel之外,則屬性會消失。
這是如何實現的?
TableLayoutPanel控件實現IExtenderProvider接口,並將ProvideProperty屬性添加到上面提到的名稱中 - 從而生成此查詢的「附加屬性功能」。
我會建議您挖掘其原始源代碼以獲取有關此實現的更多信息。
(如果你沒有一個.NET反彙編,你可能會得到一個良好的和免費的here)
一些消息來源上手IExtenderProvider:
I正在用dotPeek調查原始資料,但我不太確定要查找什麼。現在我有了方向,謝謝!並感謝您的及時答覆。 – Apeiron