C#判断窗体是否打开,并获取聚焦、未打开则新建一个子窗体
在桌面程序开发会遇到的情况,托盘功能或者是小功能弹窗问题:
现有一个主窗体有子窗体 子窗体每个都可以新建其他窗体
问题:
新建子窗体时怎么判断子窗体是否打开?
若子窗体打开则置顶获取焦点。
若未打开则新建一个子窗体。
方法一:
foreach遍历式查找Form

1 foreach (Form frm in Application.OpenForms)
2 {
3 if (frm is Errors)
4 {
5 frm.Focus(); return;
6 }
7 }
8 Errors errorForm = new Errors();
9 errorForm.Show();
foreach遍历式查找
1 foreach (Form frm in Application.OpenForms)
2 {
3 if (frm is Errors)
4 {
5 frm.Focus(); return;
6 }
7 }
8 Errors errorForm = new Errors();
9 errorForm.Show();
===================================================================================
方法二:
指定form名查找
1 private void ErrorList_Clicked(object sender, EventArgs e)
2 {
3 // 显示所有的错误信息列表
4 FormCollection form_is_running = Application.OpenForms;
5
6 //typeof验证数据
7 string errorFormName = typeof(Errors).Name;
8 if (form_is_running[errorFormName] != null)
9 {
10 (form_is_running[errorFormName] as Form).Focus();
11 }
12 else
13 {
14 Errors form_add = new Errors();
15 form_add.Show();
16 }
17 }
C#判断窗体是否打开,并获取聚焦、未打开则新建一个子窗体的更多相关文章
- 如何实现MDI窗体不重复打开同一个子窗体?
使用MDI窗体时,默认是可以多次打开同一个子窗体的,那么如何控制不重复打开同一个子窗体呢?MDI窗体有个重要属性——MdiChildren,该属性表示MDI窗体打开的子窗体的数组,循环遍历该数组,可以 ...
- Java获取系统默认浏览器打开链接
package com.ylx.test; public class DesktopBrowers { public static void main(String[] args) { // 判断当前 ...
- JQuery判断radio是否选中,获取选中值
本文摘自:http://www.cnblogs.com/xcj1989/archive/2011/06/29/JQUERY_RADIO.html /*----------------------- ...
- 判断页面是在pc端打开还是在移动端打开
在项目开发中会遇到在不同的设备中打开页面是不同的,比如: 我在手机中打开一个网站和pc打开一个网站,页面是不同的 具体实施如下 //判断打开网站的终端 var ua = window.navigato ...
- JQuery判断radio是否选中并获取选中值的示例代码
这篇文章主要介绍了JQuery判断radio是否选中并获取选中值的方法,代码很简单,但很实用,需要的朋友可以参考下 其他对radio操作功能,以后在添加.直接上代码,别忘记引用JQuery包 ? 1 ...
- python+selenium调用chrome打开网址获取内容
目录 1,安装selenium和配置chromedriver 2,调用chromedriver打开网页获取网页内容 3,模拟登陆百度云 附录(webdriver版本兼容列表) 通过selenium库, ...
- 网摘-获取屏幕dc并且将其画面显示在窗体中
获取屏幕dc并且将其画面显示在窗体中 HWND hWnd = ::GetDesktopWindow();//获得屏幕的HWND. HDC hScreenDC = ::GetDC(hWnd); // ...
- PyQt5学习笔记-从主窗体打开一个子窗体
PyQt5学习笔记-从主窗体打开一个子窗体 软件环境: Eric6+Python3.5+PyQt5 试验目标: 1.点击菜单项Open,打开一个子窗体 2.点击按钮Open,打开一个子窗体 主窗体设计 ...
- MyWebViewDemo【封装Webview常用配置和选择文件、打开相机、录音、打开本地相册的用法】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 封装webview的常用配置和选择文件.打开相机.录音.打开本地相册的用法.[如果想要使用简单的预览功能,可以参考<MyBri ...
- python 打开浏览器的方法 Python打开默认浏览器
一.python 打开浏览器的方法: . startfile方法(打开指定浏览器) import os os.startfile("C:\Program Files\internet exp ...
随机推荐
- 题解 Trie 但是你要最小化它的节点数量
名字瞎取的 Description 给定 \(n\) 个字符串 \(s\),可以对 \(s_i\) 的字符打乱,将这些字符串加入一个 trie 里面求节点数量最小值. \(n\le 16, \sum ...
- js-解决安卓手机软键盘弹出后,固定定位布局被顶上移问题
分析:软键盘弹出后,导致页面高度变化 解决方案:软键盘弹出后,修复页面高度 // 监听窗口变化 resizeScreen(){ if (!this.state.isIOS && thi ...
- 修复gitlab权限(docker方式搭建)
docker exec -it gitlab update-permissions docker restart gitlab
- STM32定时器TIM_OC1PreloadConfig、TIM_ARRPreloadConfig函数详解
-------------------------------------------版权声明:本文为CSDN博主「qlexcel」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处 ...
- taro框架开发微信小程序遇到的问题
ios端,如果input放在了dispplay flex里面,会导致一系列问题 滑动屏幕,键盘不收起,input值随屏幕滚动 input之前切换,键盘不弹起来或有时弹有时不弹 键盘莫名收起 input ...
- 1223. 掷骰子模拟 (Hard)
问题描述 1223. 掷骰子模拟 (Hard) 有一个骰子模拟器会每次投掷的时候生成一个 1 到 6 的随机数. 不过我们在使用它时有个约束,就是使得投掷骰子时, 连续 掷出数字 i 的次数不能超过 ...
- 524. 通过删除字母匹配到字典里最长单词 (Medium)
问题描述 524. 通过删除字母匹配到字典里最长单词 (Medium) 给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过 ...
- ASP.NET Core 部署在Docker容器当中(1)
一.前言 在公司新项目中,果断选择使用asp.net core,通过实践学习一系列技术栈:docker.docker-nginx.docker-compose.Jenkins,本文主要是介绍如何将项目 ...
- CSS:布局篇_两边顶宽中间自适应(圣杯布局&双飞翼布局)
CSS:布局篇_两边顶宽中间自适应(圣杯布局&双飞翼布局) 圣杯布局以及双飞翼布局解决的是两边顶宽中间自适应的三栏布局,且中间栏优先渲染. 圣杯布局实现思路: 用一个div作为容器依次包住中, ...
- ssh操作
# -*- coding: utf-8 -*-"""------------------------------------------------- File Name ...