tinyworld 发表于 2020-10-27 17:48:40

请问为何引用cskin后,winform打开不正常了?

使用下面的代码打开子窗口,一切正常:

            //打开单例窗口
            Form test = Application.OpenForms;//查找是否打开过窗体
            if ((test == null) || (test.IsDisposed)) //如果没有打开过
            {
                Assembly assembly = Assembly.GetExecutingAssembly();
                Form F;
                F = assembly.CreateInstance("main." + wn) as Form;   
                F.Owner = this;
                F.Show();   //打开子窗体
            }
            else
            {
                test.Activate(); //如果已经打开过就让其获得焦点
                test.WindowState = FormWindowState.Normal;//使Form恢复正常窗体大小
            }


但是我把子窗口继承了cskin后,使用上面的代码打开子窗口,如果子窗口如Form1 load判断没记录,写了一个最简单的Close(); 正常是关闭窗体了,但是只要子窗体继承cskin,并且碰到Close();这个关闭窗口的代码,那么会报错,提示无法打开已释放的对象?

但是:如果我把子窗口如Form1,去掉那行Close();关闭窗口的代码,给它加上一个自动倒计时1秒自动关闭(到了时间后依然执行的还是Close)它就不会报错,似乎是要让子窗口展示出来看一下,才可以关闭……

这个怎么破{:3_60:}
页: [1]
查看完整版本: 请问为何引用cskin后,winform打开不正常了?