我一直在标题中收到错误,我无法弄清楚表单设置为只读的位置或我如何禁用它。
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
答案 0 :(得分:1)
MdiChildren
只是一个数组,代表当前的表单,它们是对话框的Mdi Childs。您需要将MDI子项加载到父项中。
这样的事情:
addStudent newStudentForm = new addStudent();
newStudentForm.MdiParent = this;
newStudentForm.Show();
答案 1 :(得分:0)
您不需要设置inputCode = codeReader.nextLine();
do{
if(items[i].checkCode(inputCode)){
if(items[i].checkPrice(inputPrice)){
System.out.println("You ordered " + items[i].getName() + " here it is");
break;
} else {
System.out.println("Sorry, the amount is not enough for this purchase. Please add more money and try again");
break;
}
} else {
inputCode = codeReader.nextLine();
}
} while(!items[i].checkCode(inputCode));
。而且,即使它不是只读的,你也无法以这种方式设置它 - 它是一个表单集合,而不是表单。
从逻辑上讲,你试图告诉" newStudentForm当前表格是MDI孩子",并且不是真的,你真的需要" newStudentForm是这个&#34的新MDI孩子34。
您唯一需要做的就是在您的子表单中设置MdiChildren
:
MdiParent
P.S。请为您的课程使用正确的命名。它应该是private void studentToolStripMenuItem1_Click_1(object sender, EventArgs e)
{
AddStudent newStudentForm = new AddStudent(this);
newStudentForm.MdiParent = this;
newStudentForm.Show();
}
,而不是AddStudent
。这一封信使代码完全不可读。