1。在winform应用中,一个窗体打开另一个窗体,用以下方式打开会打开多个窗口,像qq一样会打开多个登陆窗口,有时应用中只打开一个
Form2 form=new Form2();
form.Show();
方法就是在在Form2中创建一个静态字段和一个静态方法,用方法来创建Form2的实例
public partial class Form2 : Form { public static Form2 SingleForm=null; public Form2() { InitializeComponent(); } public static Form2 GetSingle() { if (SingleForm == null || SingleForm.IsDisposed) { SingleForm = new Form2(); } return SingleForm; } }Form1中调用,这样只会打开一个窗口了
private void button1_Click(object sender, EventArgs e) { Form2 item = Form2.GetSingle(); if(!item.IsDisposed) item.Show(); }

在Winform应用程序中,使用常规方式可能会导致同一窗口多次打开,如QQ登录窗口的情况。为解决此问题,可以采用单例模式来确保窗口只被打开一次。具体实现是在Form2中定义一个静态字段和静态方法,通过静态方法创建并显示Form2的实例,防止多次实例化。
3218

被折叠的 条评论
为什么被折叠?



