2016-11-16 53 views
-3

,所以我想,但是我得到這個錯誤來存儲我的主要形式,並打開一個新的,這裏是代碼:C#不能一種形式隱式轉換爲另一種形式

我有這個在形式層面

public static frmAddBook frmkeepBooks = null; 

public frmMain() 
{ 
    InitializeComponent(); 
    frmkeepBooks = this; 
} 

錯誤強調 「這」 說它 「Cannot inplicitly convert type Books.frmMain to Books.frmAddBook

+0

是的,因爲這兩個類沒有任何關係 –

+0

你是什麼意思? – Aelux

+0

'this'代表'Books.frmMain'。事實上,它不能轉換成frmAddBook對象。您試圖告訴一隻雞,他是一頭牛;) –

回答

2

變化將第一行:

public static frmMain frmkeepBooks = null; 

類型應該相同(或遺漏),可能不是。

+0

@Steve:你對構造函數的評論是正確的,我刪除/刪除和更新的答案,但你的評論失去了;抱歉。 –

+0

我目前正在第一年就讀大學,出於某種原因,我的第六種形式並未涵蓋任何形式的編碼,所以這對我來說都是新的,更不用說我寫了這段代碼,因爲它在演講幻燈片中顯示被賦予,所以任何名稱或缺乏構造函數都不完全取決於我。很難判斷你是否有一位不好的老師,如果你不知道更好:L – Aelux

+0

我沒有倒下你,也沒有發表任何私人評論。只需繼續編碼,在這裏提問(通常你會得到有用的評論和答案)。玩得開心編程! –

0

您是否試圖在舊對話框中將新窗體顯示爲保持舊窗體的對話框?我不太明白你爲什麼試圖將你的實例frmMain設置爲等於frmAddBook的空實例。

,如果你試圖打開新形式的對話,你會做這樣的事情:

public static frmAddBook frmkeepBooks; 

public frmMain() 
{ 
    InitializeComponent(); 
    frmKeepBooks = new frmAddBook(); 
    /* if you want to display the 2nd form ontop of the first disallowing 
     user interaction on the first until the 2nd form closes */ 
    frmKeepBooks.ShowDialog(); 
    // If you want to allow interaction on either form 
    frmKeepBooks.Show(); 
    /* maybe you don't want to display the first form 
     anymore after the 2nd form is displayed */ 
     this.Visible = false; 
} 

我認爲這個問題需要在你正在嘗試做的正是一些澄清。