[C#][Windows Form] 讓 Container 類型的控制項繼承後在 IDE 中也可使用

  • 10422
  • 0
  • 2010-05-26

[C#][Windows Form] 讓 Container 類型的控制項繼承後在 IDE 中也可使用

Introduction

一般來說在 UI 介面有時會繼承來達到需求,可是有些控制項並不支援繼承,比方說 DataGridTableLayoutPanelFlowLayoutPanelToolStrip

MenuStripStatusStrip…等,嚴格來說應該說只支援 Readonly 繼承,在 IDE 表現上是呈現反白的現象,也無法拖拉控制項的位置,

即使設定了 Modifiers  屬性還是一樣。

如下圖

2010-05-22_150327

 

若是這樣就無法像其他控制項一樣在 IDE 上使用的方便,所以我們也許可以這樣做。

 

Examples

為了讓 Container 類型的控制項,可以在 IDE 方便的使用,所以我們必須繼承這類型的控件,並且覆寫 InheritanceAttribute 屬性。

首先請於專案中加入 System.Desgin 參考,接著於專案中選取加入類別或是元件。

2010-05-22_160155

 

接下來我們在工具箱就會看到我們自訂的 DataGridView 控制項並且拉到 Form1 ,設定 Modifier=Protected ,讓 Form2 繼承 Form1 。

2010-05-22_160324

 

2010-05-22_160740

 

2010-05-22_160910

三小俠  小弟獻醜,歡迎指教