Windows有这么几个规定,当父窗口隐藏的时候信悉,它所有的子窗口会同时隐藏,也就是你隐藏了父橘贺窗口,父窗口上的按钮,编辑框所有控件都会同时隐藏掉,这是很自然的,所以你由这个父窗口创建的模态对话框也同时被隐藏。如果父窗口被关闭,那么其所有子窗口都被关闭。如果移动父窗口,所有的子窗口会跟着移动。你这要想着对话框上的按钮也是对话框的子窗口,这样Windows的行为都变得可以理解了。
好了,回到你的问题,你要让模态对话框显示而父窗口不显示是不可能的,除非你隐藏的窗口不是他的父窗口,因此解决方法就是你创建模态对话框的时候不要把当前要隐藏的窗口的句柄给他,直接给NULL,这样就会创建没有父窗口的模态对话框,然后再隐藏你要隐藏的对话框就行圆坦派了。不过顶级对话框可能会在任务栏里面增加新的按钮,这个我不确定。
隐藏this.visible=false打返贺开的同时设置
但是如果你隐藏父窗体的话。 那你从子窗体打开父窗体的时间就不是同一个窗体咯?
你可以这样。
在子窗体声明一个public的父窗体变量 然后在打开子窗体的同时模培。把当前父窗体传递给该变量
如:
子窗体:
public 父窗体 Fu
父窗体:
子窗漏码派体 a = new 子窗体;
a.show()
a.Fu = this
然后再次从子窗体返回父窗体的时间,直接用Fu对象在把父窗体的visble设置为true就行了
这样的话就不会占用太多的系统资源
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)