2012-09-05 70 views
1

的MdiParent形式的更改名字,我想改變,取決於輸入從子窗體一個用戶MDI父窗體的名稱(文本)頭。的WinForms - 從子窗體

我試過這段代碼:

frmMain main = (frmMain)this.MdiParent; 
main.Text = "New Name"; 

,但我得到一個對象引用未設置錯誤。

+1

確定實際的形式是'frmMain'的孩子?在分配前檢查'this.MdiParent'爲'null'。 –

+0

你什麼時候想改變父窗體?表單是否關閉?當輸入控件中的值更改時? – Servy

回答

2
this.MdiParent.Text="New Name"; 

但我認爲你正在嘗試做這個

Form child = new Form(); 
String formText = "Child "; 
child.Text = formText; 
child.MdiParent = this; 
+1

http://stackoverflow.com/questions/3244121/how-to-display-string-on-title-bar-on-mdiparent-form-from-login-form – perilbrain

+1

在您的評論的信息幫助 - 謝謝 – PJW

1

可能是因爲你正在試圖做的是,在子窗體的構造函數。直到構造函數完成後才能設置MdiParent屬性。

超載在onload方法在子窗體和更改父節點的Text屬性那裏。

+0

鑑於看來他要設置基於用戶輸入似乎不太可能的代碼將在構造函數中的文本。 – Servy

+0

上面的代碼試圖改變主要形式的名稱是在子窗體 – PJW

+0

@PJW一個按鈕的onclick事件然後匿名ymous可能是正確的,當你創建子窗體您沒有設置MdiParent屬性。 – Tergiver