LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

WinForm-解决窗体重复创建问题

admin
2024年12月13日 17:29 本文热度 114

在FrmMain窗体打开FrmAddStu窗体时,可以使用窗体的Show方法,比如:
private void 添加学员AToolStripMenuItem_Click(object sender, EventArgs e){    FrmAddStu objfrmAddStu = new FrmAddStu();//实例化FrmAddStu窗体对象    objfrmAddStu.Show();显示FrmAddStu 窗体}
此时这样写的话当多次点击这个弹出窗体按钮时会弹出多个相同的窗体。对代码进行如下优化解决此问题。
在FrmMain窗体中对代码进行如下修改:
先初始化窗体对象为null、按下打开窗体按钮时判断窗体对象是否已经存在,如果不存在则创建,如果存在则打开现有的窗体对象。
public static FrmAddStu objfrmAddStu = null;//初始化窗体对象为空,定义为静态的private void 添加学员AToolStripMenuItem_Click(object sender, EventArgs e){    //点击打开窗体按钮时先判断窗体对象是否为空。如果为空则创建窗体对象并打开窗体    if ( objfrmAddStu == null)    {        objfrmAddStu = new FrmAddStu();        objfrmAddStu.Show();    }    else    {        objfrmAddStu.Activate();//如果窗体对象不为空则激活窗体,激活只能在窗体最小化时执行        objfrmAddStu.WindowState=FormWindowState.Normal;//将窗体正常显示出来    }}
在FrmAddStu窗体事件FormClosed事件中添加以下代码,即:
关闭窗体时清理窗体对象
private void FrmAddStu_FormClosed(object sender, FormClosedEventArgs e){    FrmMain.objfrmAddStu=null;//关闭窗体时清理窗体对象。}


该文章在 2024/12/14 9:31:12 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved