并于引用类型的问题
来源:百度知道 编辑:UC知道 时间:2024/06/23 08:59:24
我就是想让一个引用也指向这个窗体对象,因为引用类型操作任意一个所指向的值都会随之变化的。我想用close方法去释放掉以前隐藏的那个窗体。
很简单,不要在LOGO中调用主窗体,而是在主窗体中调用LOGO。
我做了个简单的演示程序,form1是主窗体form2是LOGO,只要把form1的构造函数改成这样:
public Form1()
{
Form2 f2 = new Form2();
f2.Show();
System.Threading.Thread.Sleep(3000);
InitializeComponent();
f2.Close();
}
运行,你就可以看到,先显示LOGO,三秒后LOGO消失,主窗体显示
当然按照你的原意,你也可以把f2.Close();改为 f2.Visible = false;等主窗体关闭再f2.Close();但是LOGO一般在主窗体启动后就没有作用了,所以也就没有这个必要去改。
另外注意,显示form2的代码要放在InitializeComponent()前面,因为有可能InitializeComponent()这个过程要花费较多的时间。还有一点,f2.Close();不一定要放在构造函数里,你可以放在窗体的Load事件里。总之,原则就是,把form1最耗时的那些操作都放在 f2.Show()与f2.Close()之间,这样运行起来的感觉就最好。
首先说明你这个设计思路不够好。
我仅给你提供一个设计思路,供你参考。
你要让你的主窗口先运行,然后再去调用并显示你的LOGO窗口,这样程序结构清晰(主流的程序都是这么实现的)。
具体请看伪代码:
void main()
{
Run new MainWindow();
}
MainWindow onLoad() //在主窗体的加载事件中(此时主窗体还未显示)
{
LogoWindow.ShowDialog(); //调用此方法后主窗口线程会被阻塞直到LOG