2017-02-26 47 views
1

創建了一個從另一個表單繼承的表單,但由於某種原因,我得到了類型「baseForm」未找到的錯誤構造函數。這是繼承類的構造函數:類型「」的構造函數在繼承形式時找不到c#形式

public partial class loadHtmlFormsDatabaseForm :  NEA_Official.createHtmlFormsForm 
{ 
    List<field> listOfFields = new List<field>(); 
    static string username1; 
    int originalListOfFieldsCount; 
    htmlFormsProject loadedProject; 

    public loadHtmlFormsDatabaseForm(htmlFormsProject loadProject, string username) : base(username1) 
    { 
     username1 = username; 
     loadedProject = loadProject; 
     InitializeComponent(); 
    } 

這是基類的構造函數:

public partial class createHtmlFormsForm : Form 
{ 
    List<field> listOfFields = new List<field>(); 
    string username = ""; 

    public createHtmlFormsForm(string username1) 
    { 
     username = username1; 
     InitializeComponent(); 
    } 
+0

看起來不錯。我可以重現相同的情況,它沒有任何錯誤的工作。你可以告訴它是運行時錯誤還是編譯時錯誤?哪一行代碼顯示錯誤? –

+0

@ChetanRanpariya程序運行良好,但它不允許我查看錶格的設計 – leightonblackburn

+0

當您嘗試查看錶單的設計時會發生什麼? –

回答

0

它foud但發送錯誤的參數。

: base(username1)變化: base(username)

0

您可以通過超負荷像這樣在基類中沒有參數,解決它的構造:

public partial class createHtmlFormsForm : Form 
{ 
List<field> listOfFields = new List<field>(); 
string username = ""; 

public createHtmlFormsForm(string username1) 
{ 
    username = username1; 
    InitializeComponent(); 
} 
public createHtmlFormsForm() 
{ 
    InitializeComponent(); 
} 
} 

如果您不需要用不帶參數的構造函數,你可以創建私人:

public partial class createHtmlFormsForm : Form 
{ 
List<field> listOfFields = new List<field>(); 
string username = ""; 

public createHtmlFormsForm(string username1) 
{ 
    username = username1; 
    InitializeComponent(); 
} 
// private contructor with no parameter 
private createHtmlFormsForm() 
{ 
    InitializeComponent(); 
} 
} 

,或者您可以使用過時的屬性:

public partial class createHtmlFormsForm : Form 
{ 
List<field> listOfFields = new List<field>(); 
string username = ""; 

public createHtmlFormsForm(string username1) 
{ 
    username = username1; 
    InitializeComponent(); 
} 

[Obsolete("Designer only", true)] 
public createHtmlFormsForm() 
{ 
    InitializeComponent(); 
} 
}