每日点滴之贰零零玖年拾月壹拾陆日
对于《每日点滴之贰零零玖年玖月壹拾伍日》所述之通过单件模式实现仅打开一个窗口的补充: public partial class Form1 : Form { private static Form1 form1; private Loader loader; private Form1() { InitializeComponent(); loader = new Loader(); }
private void button1_Click(object sender, EventArgs e) { loader.NewForm1Loader(); }
private void button2_Click(object sender, EventArgs e) { loader.NewForm2Loader(); }
public static Form1 GetForm1() { if(form1==null || form1.IsDisposed) { form1 = new Form1(); } else { form1.Activate(); } return form1; } }
baseFrm.OnLoad(EventArgs.Empty); baseFrm.Activate();
1.在实际运行中忽略了一点,如果关闭该窗口,再打开时报异常,因此修改代码如下:
2.对于几个除加载和处理的数据不同,而界面完全一致的模块来说,采用的就是一个FORM加多个类的方式来实现,而多个类用一个接口来进行约束,在打开这个FORM时,如果数据不一样,则重新加载数据:
浙公网安备 33010602011771号