2017-06-07 34 views
-2

我一直在標題中出現錯誤,我不知道表單被設置爲只讀的位置或我可以如何禁用這個。屬性或索引器「Form.MdiChildren」不能被分配到 - 它是隻讀的

private void studentToolStripMenuItem1_Click_1(object sender, EventArgs e) 
     { 
      addStudent newStudentForm = new addStudent(this); 
      newStudentForm.MdiChildren = this; 
      newStudentForm.Show(); 
     } 

addStudent是一種形式,以創生,並填充並將其存放在主窗體上的學生名單的照顧。所以我想能夠在Form2上編輯Form1的數據,這就是爲什麼我使用Mdi

任何人都可以給我任何提示,我應該看看我應該尋找什麼來解決這個錯誤?

編輯:要明確

Form1 = Parent 

Form2 = Child 
+2

你只是看着它倒退。設置父母不是孩子。 –

回答

1

MdiChildren只是一個數組,表示當前窗體,它們是對話框的Mdi子窗體。您需要將MDI子代加載到父代。

事情是這樣的:

addStudent newStudentForm = new addStudent(); 
newStudentForm.MdiParent = this; 
newStudentForm.Show(); 
0

你並不需要設置MdiChildren。而且,即使它不是隻讀的,你也不能這樣設置它 - 它是一組表單,而不是表單。

邏輯上,您試圖告訴「newStudentForm具有當前窗體作爲MDI子窗體」,並且不是true,但實際上您需要「newStudentForm是此新的MDI子窗體」。

你需要做的唯一的事情就是設置MdiParent你的孩子形式:

private void studentToolStripMenuItem1_Click_1(object sender, EventArgs e) 
{ 
    AddStudent newStudentForm = new AddStudent(this); 
    newStudentForm.MdiParent = this; 
    newStudentForm.Show(); 
} 

附:請爲您的課程使用適當的命名。它應該是AddStudent,而不是addStudent。這一封信使代碼絕對不可讀。

相關問題