c#中获取控件窗体句柄,获取窗体等的一些操作
1.Control.Handle 就是获取控件绑定到的窗口句柄。
2.control.IsHandleCreated 控件是否有与其关联的句柄
3.WinForm自定义函数FindControl实现按名称查找控件
|
4.判断窗体是否已打开
方式1:
foreach (Form frm in Application.OpenForms)
{
if (frm is youForm)
{
youForm.Activate();
youForm.WindowState = FormWindowState.Normal;
return;
}
}
Form youForm = new Form();
youForm.Show();
方式2:
Form1 F1 ;
if(F1 == null || F1.IsDisposed)
{
F1 = new Form1();
F1.Show();//未打开,直接打开。
}
else
{
F1.Activate();//已打开,获得焦点,置顶。
}
5.通过名字寻找窗体
public
Form FindForm(
string
name)
{
foreach
(Form f
in
Application.OpenForms)
{
if
(f.Name == name)
return
f;
}
return
null
;
}
6.以下是代码中创建progressbar的实例
int count = 0;
private void button4_Click(object sender, EventArgs e)
{
Thread th = new Thread(() => {
Form form = new Form();
form.Name="myForm";
form.Width = 200;
form.Height = 20;
form.ControlBox = false;
//form.ShowInTaskbar = false;
form.StartPosition = FormStartPosition.CenterScreen;
ProgressBar pb = new ProgressBar();
pb.Dock = DockStyle.Fill;
pb.Maximum = 100;
pb.Minimum = 0;
pb.Value = count;
pb.BringToFront();
pb.Visible = true;
pb.Parent = form;
form.ShowDialog();
});
th.Start();
for (int i = 0; i < 1000;i++ )
{
Thread.Sleep(5);
count = Convert.ToInt32(i * 1.0 / 1000 * (100 - 0) + 0);
Control control= FindForm("myForm");
if (control!=null&&control.Name == "myForm" && control.IsHandleCreated)
{
control.Invoke(new Action(() => {
ProgressBar pb = control.Controls[0] as ProgressBar;
pb.Value = count;
}));
}
}
th.Abort();
}
public Form FindForm(string name)
{
foreach (Form f in Application.OpenForms)
{
if (f.Name == name) return f;
}
return null;
}
c#中获取控件窗体句柄,获取窗体等的一些操作相关推荐
- javascript如何获取html中的控件,Javascript-dom总结(获取页面控件)
1. 根据id获取控件 document.getElementById('txt2') 2. 根据name获取一组控件(radiobutton) document.getElementsByName( ...
- 【Android】获取控件的宽和高
有时候我们须要在Activity的时候获取控件的宽和高来做一些操作,以下介绍三种获取宽和高的方式: 1. onWindowFocusChanged @Overridepublic void onWin ...
- Python调用外部EXE程序遍历窗体及控件并获取控件信息。
背景 我的工作中经常手工运行一个windows程序(密码生成工具),获取该程序的计算结果,手工填到登录表单的中.该程序非常久远,已无人维护.根据凡是重复2次以上的工作都应该自动化原则,那么我来写个自动 ...
- QT5 获取窗口、系统屏幕大小尺寸信息,Qt 获取控件位置坐标,屏幕坐标,相对父窗体坐标
一.QT5 获取窗口大小尺寸信息 QT窗口尺寸,窗口大小和大小改变引起的事件 QResizeEvent. //窗口左上角的位置(含边框)qDebug() << this->frame ...
- treeview获取选中 vb_VB中TreeView控件实例(转)
[摘要:]在实际开发中,许多人不喜欢使用TreeView,主要是由于默认的TreeView是"只读"的,不支持添加.删除.编辑.调整节点位置等操作.本文通过一个TVEdit工程说明 ...
- android自定义view获取控件,android 自定义控件View在Activity中使用findByViewId得到结果为null...
转载:http://blog.csdn.net/xiabing082/article/details/48781489 1. 大家常常自定义view,,然后在xml 中添加该view 组件..如果在 ...
- .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】...
1.首先在前台dataGridview属性中增加onRowDataBound属性事件 2.然后在后台Observing_RowDataBound事件中增加代码 protected void Obser ...
- Asp.net 2.0 中获取控件输出的Html代码 (转)
将Asp.net 控件的呈现html获取,在不少场合会用到,比如生成静态页时 以下代码选自 Asp.net 2.0 高级编程 转自:Asp.net 2.0 中获取控件输出的Html代码 public ...
- android 获取控件在屏幕中的坐标
今天,简单讲讲android如何获取控件在屏幕中的坐标. 这个其实也很简单,但是昨天做一个功能时,需要功能控件的坐标做一些逻辑操作时,居然不知道怎么做.所以在网上查找了资料后,解决了这个问题.这里记录 ...
最新文章
- android播放器:mediaplayer
- JavaScript函数大全
- linux下的代码比较工具下载,linux下的代码工具比较
- Android locksettings/gatekeeper代码导读
- python跟易语言的爬虫_新人Python,第一只爬虫,,我就只会re.findall,你咬我?
- STL源码剖析 slist单向链表概述
- java如何脱离ide运行_如何脱离IDE使用自己的jar包?
- javascript -- 判断是否为某个数据类型
- mysql的命令行常用命令_MySQL Command Line[mysql命令行常用命令]
- java opencv去除干扰线_电子产品硬件研发—提高抗干扰性能的常用方法
- 大数据入门:Hadoop大数据开发核心讲解
- macos复制粘贴快捷键 快速_Mac复制粘贴快捷键怎么修改 Mac复制粘贴快捷键修改步骤...
- 微信公众号登陆、模板发送、access_token获取 PHP代码
- 【供应链架构day2】美团收单供应链系统的演进之路
- 关于Mysql8.0时区表问题解决
- 【每日蓝桥】2、一三年省赛Java组真题“组素数”
- 计算机一级ps考级知识,Photoshop等级考试一级大纲
- STM32移植STemwin
- python agg
- 派斯宝多尼斯荣登纳斯达克大屏 闪耀国际舞台
热门文章
- php网站后台无法退出,zblog“网站关闭”后进入不了后台的解决方法
- mysql 表 地图_报表中的地图怎么做?
- linux e32,linux PXE无人值守安装出现 PXE-E32:TFTP OPen timeout的解
- mysql 免安装 配置_图解MySQL5.7.20免安装版配置方法
- 的训练过程_指外翻的人在训练的过程中,要不要拉伸收肌?
- 计算机组成与维修考试试题,期末考试试题计算机组成与维修.doc
- 编写jmeter测试用例_JMeter 编写接口测试用例遇到的问题及解决
- 英雄会被表彰,这些技术与代码也将被历史铭记
- 带你全面认识 Linux
- 我把公司当家,老板当爹,结局...