c# winform 防止窗体多次打开
在使用MDI子窗体时,如果仅仅是使用 from.show() 代码,那么我们单击几次菜单,就会打开几个同样的子窗体。可以用这段代码防止这种情况。
首先添加一个函数,这个函数用于检测指定的子窗体是否已经打开,如果打开则激活这个子窗体,否则返回false值
private bool ShowChildrenForm(string p_ChildrenFormText) { int i; //依次检测当前窗体的子窗体 for (i = 0; i < this.MdiChildren.Length; i++) { //判断当前子窗体的Text属性值是否与传入的字符串值相同if (this.MdiChildren[i].Text == p_ChildrenFormText) { //如果值相同则表示此子窗体为想要调用的子窗体,激活此子窗体并返回true值 this.MdiChildren[i].Activate(); return true; } } //如果没有相同的值则表示要调用的子窗体还没有被打开,返回false值 return false;}
然后在调用子窗体的方法中写入如下代码
if ( ! ShowChildrenForm("子窗体的Text属性值") )
{
Form newForm = new Form();
newForm.MdiParent = this;
newForm.Show();
}
这样在调用子窗体时,会判断是否已经打开此窗体的相同实例,如果是则激活打开的窗体,不是的话才会再打开一个新的实例
转载于:https://www.cnblogs.com/zyfIda/p/6264321.html
c# winform 防止窗体多次打开相关推荐
- c#点击按钮调出另一个窗体_在类库或winform项目中打开另一个winform项目窗体的方法...
本文实例讲述了在类库或winform项目中打开另一个winform项目窗体的方法.分享给大家供大家参考.具体如下: 一.问题: 假设类库或winform项目为A,另一个winform项目为B.那麽在A ...
- Winform程序窗体间的跳转
关于Winform程序窗体间的跳转问题: 对于编程新手来讲,winform程序窗体间的跳转,经常会出现一些异常,或是弹出重复的窗口,如下图 下面给出一种方法,可以很好的避免掉这样的问题: 首先,在主程 ...
- WinForm开发,窗体显示和窗体传值相关知识总结
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm开发,把用到的相关知识整理如下 A.WinForm中窗体显示显示窗体可以有以下2种方法: Form.ShowDialo ...
- winform php 交互,WinForm开发,窗体显示和窗体传值
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm开发,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDial ...
- C#Winform中窗体的美化
前言 机房合作项目正在最近如火如荼的进行着,一个好看的界面是一个项目的基础,所以该怎样让我们项目的界面更好的美化一下呢,组长把这个活交给了我,我也就义不容辞的接下来了,在美化的过程中发现这个世界真的好 ...
- C#MDI窗体避免重复打开子窗体的问题
在做winform程序的时候,需要用到MDI窗体,在网上看了一些避免子窗体重复打开的问题. 现在我有一个MDI窗体formfather以及两个子窗体form1和form2. 在父窗体上弄两个按钮,点击 ...
- WinForm禁用窗体自带的关闭功能
1.代码结构 2.实现代码 using System; using System.Windows.Forms;namespace WinFormForbidCloseDemo {/// <sum ...
- 多窗体、窗体传值、打开唯一窗体操作
多窗体.窗体传值.打开唯一窗体操作 一.打开多子窗口 在控件中实例化要打开的窗体,再调方法show 例:在按钮中打开f2窗体 form2 f2=new form2() f2.show() 二.构造函数 ...
- mfc 设置子窗口只打开一遍_MFC 判断子窗体是不是已经打开,避免重复创建
MFC 判断子窗体是否已经打开,避免重复创建 在主窗体中,嵌入一个很多个子窗体,但是,每次只显示一个. 我的做法是,首先在主窗体头文件中定义子窗体对象,然后在单击显示按钮的时候,先判断子窗体是否已经被 ...
最新文章
- Oracle中的序列 sequence 用法
- Drools与Spring集成 登录测试
- knime实现python编写脚本
- Mysql:SQL语句:DML语句
- Python升级至2.7方法
- Git使用相关问题汇总
- 制造业数据分析存在哪些问题
- Elementui tabs组件内添加组件
- IMG镜像写盘工具physdiskwrite,用于MikroTik RouterOS的安装(Windows)
- iar arm 6.4 破解
- 基于python的新闻发布系统
- 动手深度学习 李沐 pytorch版本 基于Win10环境配置
- 计算机二级wpsoffice知识点,2017全国计算机等级考试一级WPS office考试大纲
- 中登TA、自TA、分TA
- pandas的自带数据集_Pandas教程:初学者入门必备,很全面,很详细!
- TAPD关联Jenkins
- iOS开发-简单图片背景替换(实现抠图效果)
- 编译低版本的binutils-2.16.1错误:ld.texinfo:1592: @itemx must follow @item
- 秋招春招,1v1面试技巧和常见问题
- 模拟时钟:时钟根据时间转动
热门文章
- 一个 SAP 开发工程师的成长史 - 关于信息素养和数字化资产的思考
- 工作5个月后,说下求职经验
- PLC远程上下载程序,一台物联网网关轻松解决
- 基于计算机网络(第八版)考试重点和复习指南
- John B. Conway《Functions of One Complex Variable Ⅱ》(约翰·B·康威《单复变函数Ⅱ》)中文目录
- 初次上课的感想!!!!
- 模块说和神经网络学说_2021考研312统考心理学知识:大脑皮层与脑功能学说
- HTML5期末大作业:明星个人网站设计——权志龙(10页) 含设计报告HTML+CSS++JavaScript 个人网站模板下载 大学生简单DW个人网页作品代码 个人网页制作 学生个人网页
- 电视剧也能训练人工智能?爱丁堡大学对此进行了实验 | 研究
- ubuntu 14.04.5 编译Android 4.4.4 r1源码(最新)