我想问一下哪位朋友,我点击菜单打开一个窗体,同时在树视图中显示这个窗体的名字,然后点击树视图的节点,希望将相应的窗体显示在最前端,我找来找去没找到这样的属性,用了一个TopMost,设置成True,但是这样做的问题是我再点击主窗体时,刚将TopMost属性设置成True的窗体还是显示在窗体的最前端,请问能用什么方法解决?
还有一个问题,我将打开的窗体关闭后,双击相应树视图的节点,希望再打开该窗体,请问怎么做?我将所有打开的窗体是放在一个ArrayList里的,关闭相应窗体,我是用Form.IsDisposed判断的,它为True,然后我用Form.show()显示该窗体,它报错说已释放的资源无法创建对象实例。
还有一个问题,我将打开的窗体关闭后,双击相应树视图的节点,希望再打开该窗体,请问怎么做?我将所有打开的窗体是放在一个ArrayList里的,关闭相应窗体,我是用Form.IsDisposed判断的,它为True,然后我用Form.show()显示该窗体,它报错说已释放的资源无法创建对象实例。
------------------------
再点击主窗体时,把那个窗体的TopMost设置成false不行么?
或许有帮助 。。
其实不懂说的什么 。做好说详细的
-----------------------------
已经Dispose了,自然不能再显示的,重新创建一个就是了。
用窗体的关闭按钮将窗体关闭,它的IsDisposed属性就为True,但是这个对象还是存在的呀,new 一个新窗体就不是原来那个窗体了呀。
{
if (form2 == null)
{
form2 = new Form2();
form2.Show();
}
else
{
form2.Activate();
}
}
你不要关闭窗口,在Form_Closing事件里面将窗口隐藏,然后
e.Cancle = true; 这样窗口就不会被关闭,下次再调用的时候,只需要Show就可以了
用ShowDialog显示的窗体,关闭以后还可以重新显示出来。如果不想重新创建:
1.使用ShowDialog显示窗体。
2.或者处理Form的Closing事件,阻止关闭,自己执行Hide隐藏起来。
private void button1_Click(object sender, EventArgs e)
{
if (form2 == null)
{
form2 = new Form2();
form2.Show();
}
else
{
if (form2.Visible == false)
form2.Show();
else
form2.Activate();
}
}
Form2:
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.Hide();
}
再让窗体显示用show()方法?
我在Form2的Closing事件里设置了断点,关闭打开的窗口时,怎么没进去啊?郁闷
{
switch (treeView.SelectedNode.Text)
{
case "数据查询":
数据查询FToolStripMenuItem_Click(null, null);
break;
case "数据采集":
数据采集ToolStripMenuItem_Click(null ,null );
break;
case "上传数据":
数据上传LToolStripMenuItem_Click(null, null);
break;
case "Barcode Upload":
barcodeToolStripMenuItem_Click(null, null);
break;
default:
break;
}
}
private void 数据查询FToolStripMenuItem_Click(object sender, EventArgs e)
{
bool exists = false;
Form[] childForms = this.MdiChildren;
if (childForms.Length > 0)
{
foreach (Form form in childForms)
{
if (form.GetType() == typeof(frmQuery))
{
frmQuery flqy = (frmQuery)form;
flqy.Activate();
exists = true;
break;
}
}
}
if (!exists)
{
frmQuery flqy = new frmQuery();
flqy.MdiParent = this;
toolvisual();
flqy.Show();
}
}
可以参考一下