让窗体获得焦点,一定会有您用到的时候
开发环境:Visual Studio .NET 2005 下的Windows Form Application
应用场景: 当我们有个窗体中的数据发生了变化而此窗体又没有获得焦点(不是用户操作的当前窗口)的时候,我们希望它获得焦点,这样用户就可以立刻发现它上面的数据发生了变化。
新建一个Window应用程序,会建立Form1,再添加一个Timer(timer1),设置如下属性:
然后添加timer1的Tick事件函数,完整代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Test
{
public partial class PlayVoice : Form
{
public PlayVoice()
{
InitializeComponent();
}
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "GetForegroundWindow", CharSet = System.Runtime.InteropServices.CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetF(); //获得本窗体的句柄
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetForegroundWindow")]
public static extern bool SetF(IntPtr hWnd); //设置此窗体为活动窗体
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Handle != GetF()) //如果本窗口没有获得焦点
SetF(this.Handle); //设置本窗口获得焦点
}
}
}
运行看看,你会发现当Tick事件发生时,本窗口总会跳出来告诉你--我获得焦点了
让窗体获得焦点,一定会有您用到的时候相关推荐
- Win32中设置窗体失去焦点,并重新获取焦点
因为项目需求,在打开新窗体的同时,需要之前窗口不可被点击,但是最好不要消失,找了很久找到了一种方法: //找到窗口属性LONG dwNewLong = GetWindowLong(hWndMain, ...
- js弹出窗体获得焦点
function openwindow( ) { window.status="系统当前状态:您正在注册用户......"; if (window.screen.width ...
- ShowDialog()之后,主窗体失去焦点
开发wince的时候遇到这个问题,简单搞定了. ...... form.ShowDialog(); this.focus(); 转载于:https://www.cnblogs.com/leavind/ ...
- C# 窗体位置 Show和ShowDialog (转载)
CenterParent 窗体在其父窗体中居中. CenterScreen 窗体在当前显示窗口中居中,其尺寸 ...
- Windows 窗体启动和关闭的事件顺序
本文系转载学习. 对于关注对 Windows 窗体应用程序中引发的每个事件按次序进行处理的开发人员来说,事件引发的顺序特别重要.当某种情况需要小心处理事件时(如重绘窗体的某些部分时),必须知道事件在运 ...
- C# 系统应用之窗体最小化至任务栏及常用操作
现在很多软件如360杀毒软件.酷狗音乐都拥有最小化至任务栏并在系统托盘区留下图标,我的项目同样需要该功能.所以本文主要叙述如何使用C#让窗体最小化至任务栏,同时在系统托盘区的图标点击左键能显示窗体,右 ...
- WPF and Silverlight 学习笔记(六):WPF窗体
一.窗体类 在Visual Studio和Expression Blend中,自定义的窗体均继承System.Windows.Window类(类型化窗体).定义的窗体由两部分组成: 1.XAML文件 ...
- [译]GLUT教程 - 重整子窗体
Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Reshape Subwindows 重整函数的回调需要处理两 ...
- Excel 2010 VBA 入门 129 利用窗体向工作表中录入数据
目录 题 码 窗体控件与工作表的交互 窗体的事件 窗体中ControIs集合访问控件 控件的排列 使用控件数组进行赋值 题 如图所示,该表为某公司订单记录表,其中所有的列都是必填的,订单编号为自动生成 ...
最新文章
- Github上如何在组织中创建代码仓库,并如何授予该组织中某个小组权限?
- 化学专业计算机课程设计,分析化学专业课程设计.doc
- SpringBoot(一)——快速入门
- CodeForces - 551C GukiZ hates Boxes(二分+贪心)
- 7-2 银行家算法--申请资源 (30 分)
- python压缩文件夹为zip_python打包压缩文件夹zip+组装文件夹
- Coding:文件网盘高速直链下载无限空间
- php的$_server例子,php全局变量$_SERVER的四个例子
- python爬虫-Python爬虫学习之(一)| 从零开始
- 卖白菜|贱卖白菜|卖大白菜|贱卖大白菜|买白菜
- Mac MySQL忘记密码解决办法
- 使用CollapsingToolbarLayout高仿稀土掘金个人中心页
- android 电池电量显示不正常,vivo电量显示不正常怎么解决?vivo手机电量校准教程...
- Android电话拦截及拦截提示音的实现
- 票据业务-银票、商票
- 安装Tomcat详细步骤
- java list按字母排序_如何按字母顺序对列表进行排序?
- 美工(一)网页颜色搭配技巧 文字字体、字号、字体排版等
- 爱心网页浪漫,博主司机搞事情啦,附百度网盘源码自取哦
- 2008-2010:中国医疗器械公司规模排名前20名
热门文章
- 862. 和至少为 K 的最短子数组
- spring—JdbcTemplate使用
- leetcode 839. 相似字符串组(并查集)
- JavaScript Essentials:如何为循环而烦恼
- 打破双亲委派么,怎么打破_质量保证被打破。 这就是我们如何使其像其他所有东西一样敏捷。...
- 多元时间序列回归模型_多元时间序列分析和预测:将向量自回归(VAR)模型应用于实际的多元数据集...
- django-rest-framework解析请求参数过程详解
- MySQL基础操作(一)
- javascript高级程序设计---js事件思维导图
- [Matlab] 画图命令