[C#][Windows Form] 讓 Container 類型的控制項繼承後在 IDE 中也可使用
Introduction
一般來說在 UI 介面有時會繼承來達到需求,可是有些控制項並不支援繼承,比方說 DataGrid、TableLayoutPanel、FlowLayoutPanel、ToolStrip
、MenuStrip、StatusStrip…等,嚴格來說應該說只支援 Readonly 繼承,在 IDE 表現上是呈現反白的現象,也無法拖拉控制項的位置,
即使設定了 Modifiers 屬性還是一樣。
如下圖
若是這樣就無法像其他控制項一樣在 IDE 上使用的方便,所以我們也許可以這樣做。
Examples
為了讓 Container 類型的控制項,可以在 IDE 方便的使用,所以我們必須繼承這類型的控件,並且覆寫 InheritanceAttribute 屬性。
首先請於專案中加入 System.Desgin 參考,接著於專案中選取加入類別或是元件。
接下來我們在工具箱就會看到我們自訂的 DataGridView 控制項並且拉到 Form1 ,設定 Modifier=Protected ,讓 Form2 繼承 Form1 。
三小俠 小弟獻醜,歡迎指教