回 帖 发 新 帖 刷新版面

主题:关于怎么关闭窗口的问题

在virsual studio 2005中,由主窗口Form1通过ShowDialog()产生子窗口,然后隐藏了主窗口。当关闭子窗口时,再显示主窗口,但是在测试中,这时在主窗口中关闭这个主窗口却不能完全关闭 ,请问这时如何才能解决这个问题?部分程序如下:
在Form1中:
            this.Hide();
            Form2 f=new Form2();
            f.ShowDialog();
        
在Form2中:
          Form1 h=new Form1();
          h.Close();
          this.Close();

回复列表 (共3个回复)

沙发

在不同的线程中运行ShowDialog代码,因为ShowDialog会锁住当前线程,父窗体此时自然不能进行操作。

板凳

我觉得是由于Form1 h=new Form1(); 生成了一个新窗口,
而并不是以前的那个隐藏的窗口。
如果要关闭隐藏的那个窗口可能要调用API先找到那个窗口

3 楼

[quote]在不同的线程中运行ShowDialog代码,因为ShowDialog会锁住当前线程,父窗体此时自然不能进行操作。[/quote]

那要怎么办,如果要实现同样的功能阿
或者说要怎么返回主窗口?

我来回复

您尚未登录,请登录后再回复。点此登录或注册