C# 在MDI父级中打开新子窗体时是否关闭子窗体?
我有一个树状视图来打开每个子窗体,但是当我打开新的子窗体时,我仍然可以看到新的子窗体后面的前一个子窗体。我要做的是在打开新窗体时关闭旧的子窗体(childForm.Close();//不知何故无法工作) 查看表单对象的属性。存在对附加到MDI容器的所有表单的引用 另一种方法是将对窗体的引用存储在类本身中,如果打开另一个窗体,则关闭旧窗体:C# 在MDI父级中打开新子窗体时是否关闭子窗体?,c#,C#,我有一个树状视图来打开每个子窗体,但是当我打开新的子窗体时,我仍然可以看到新的子窗体后面的前一个子窗体。我要做的是在打开新窗体时关闭旧的子窗体(childForm.Close();//不知何故无法工作) 查看表单对象的属性。存在对附加到MDI容器的所有表单的引用 另一种方法是将对窗体的引用存储在类本身中,如果打开另一个窗体,则关闭旧窗体: private Form1 myform1 = null; private Form2 myform2 = null; private void treeV
private Form1 myform1 = null;
private Form2 myform2 = null;
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) {
string selectedNodeText = e.Node.Text;
if (selectedNodeText == "1" && myform1 == null) {
myform1 = new Form1()
// ... some code ...
if (myform2 != null) {
myform2.Close();
myform2 = null;
}
}
if (selectedNodeText == "2" && myform2 == null) {
myform2 = new Form2()
// ... some code ...
if (myform1 != null) {
myform1.Close();
myform1 = null;
}
}
}
这是今天第二次有人试图在面板上安装顶层窗口。这仍然行不通。我认为这是一个附带问题,尽管这是一个非常相关的评论。
private Form1 myform1 = null;
private Form2 myform2 = null;
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) {
string selectedNodeText = e.Node.Text;
if (selectedNodeText == "1" && myform1 == null) {
myform1 = new Form1()
// ... some code ...
if (myform2 != null) {
myform2.Close();
myform2 = null;
}
}
if (selectedNodeText == "2" && myform2 == null) {
myform2 = new Form2()
// ... some code ...
if (myform1 != null) {
myform1.Close();
myform1 = null;
}
}
}