C# winform子窗体关闭后父窗体不前置的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lomeo23/article/details/52495733

父窗体调用子窗体的代码:

            try
            {
                if (ab.IsDisposed)
                {
                   ab = new about();
                }
                ab.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }


子窗体关闭:

this.Dispose();


以上代码造成子窗体Dispose后默认return回系统,所以父窗体不能被激活。解决方法如下:

1.父窗体调用子窗体代码

            try
            {
                if (ab.IsDisposed)
                {
                   ab = new about();
                }
                ab.ShowDialog();
                ab.Dispose();//关键在这里,应该由父窗体来Dispose
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

2.子窗体退出代码:



                this.Close();//子窗体只把自己Close,不Dispose


展开阅读全文

没有更多推荐了,返回首页