---
# System prepended metadata

title: WindowsForm找不到類型xxxx上的建構涵式
tags: [Windows Form]

---

###### tags: `Windows Form`

# WindowsForm找不到類型xxxx上的建構涵式

## 情境

近期在設計DeskTop頁面時有遇到幾個頁面基底邏輯相同的狀況，於是特別設置Base Page去讓UC繼承使用。因為頁面其實長差不多，所以最後決定不使用參考引用而直接使用繼承。


讓A(UC_3Dswitch_CalibrationFileManagement)繼承B(UC_3Dswitch_FileManagementBase)。


## 錯誤訊息

編譯上都沒有問題，但此時再使用Design模式時，發生找不到類型錯誤如下

![](https://i.imgur.com/7CHd1Mj.png)


## 解決方法

> **宣告無注入空的建構子，**

```csharp=

// 宣告無注入空的建構子
public UC_3Dswitch_FileManagementBase()
{

}
public UC_3Dswitch_FileManagementBase(AppSetting appSetting) 
{
	ProductLineDataPath = appSetting.ProductLineDataPath;
	SNFolderNameLength = appSetting.SNFolderNameLength;
	InitializeComponent();
}
```

因原先Base設定注入所宣告AppSetting物件，故發生上述無法載入錯誤。看起來Deisnger模式在Control物件使用上Defaul都是預設空的建構子設置。