开发环境: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事件发生时,本窗口总会跳出来告诉你--我获得焦点了

让窗体获得焦点,一定会有您用到的时候相关推荐

  1. Win32中设置窗体失去焦点,并重新获取焦点

    因为项目需求,在打开新窗体的同时,需要之前窗口不可被点击,但是最好不要消失,找了很久找到了一种方法: //找到窗口属性LONG dwNewLong = GetWindowLong(hWndMain, ...

  2. js弹出窗体获得焦点

    function openwindow( ) {   window.status="系统当前状态:您正在注册用户......";   if (window.screen.width ...

  3. ShowDialog()之后,主窗体失去焦点

    开发wince的时候遇到这个问题,简单搞定了. ...... form.ShowDialog(); this.focus(); 转载于:https://www.cnblogs.com/leavind/ ...

  4. C# 窗体位置 Show和ShowDialog (转载)

    CenterParent                     窗体在其父窗体中居中.        CenterScreen                    窗体在当前显示窗口中居中,其尺寸 ...

  5. Windows 窗体启动和关闭的事件顺序

    本文系转载学习. 对于关注对 Windows 窗体应用程序中引发的每个事件按次序进行处理的开发人员来说,事件引发的顺序特别重要.当某种情况需要小心处理事件时(如重绘窗体的某些部分时),必须知道事件在运 ...

  6. C# 系统应用之窗体最小化至任务栏及常用操作

    现在很多软件如360杀毒软件.酷狗音乐都拥有最小化至任务栏并在系统托盘区留下图标,我的项目同样需要该功能.所以本文主要叙述如何使用C#让窗体最小化至任务栏,同时在系统托盘区的图标点击左键能显示窗体,右 ...

  7. WPF and Silverlight 学习笔记(六):WPF窗体

    一.窗体类 在Visual Studio和Expression Blend中,自定义的窗体均继承System.Windows.Window类(类型化窗体).定义的窗体由两部分组成: 1.XAML文件 ...

  8. [译]GLUT教程 - 重整子窗体

    Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Reshape Subwindows 重整函数的回调需要处理两 ...

  9. Excel 2010 VBA 入门 129 利用窗体向工作表中录入数据

    目录 题 码 窗体控件与工作表的交互 窗体的事件 窗体中ControIs集合访问控件 控件的排列 使用控件数组进行赋值 题 如图所示,该表为某公司订单记录表,其中所有的列都是必填的,订单编号为自动生成 ...

最新文章

  1. Github上如何在组织中创建代码仓库,并如何授予该组织中某个小组权限?
  2. 化学专业计算机课程设计,分析化学专业课程设计.doc
  3. SpringBoot(一)——快速入门
  4. CodeForces - 551C GukiZ hates Boxes(二分+贪心)
  5. 7-2 银行家算法--申请资源 (30 分)
  6. python压缩文件夹为zip_python打包压缩文件夹zip+组装文件夹
  7. Coding:文件网盘高速直链下载无限空间
  8. php的$_server例子,php全局变量$_SERVER的四个例子
  9. python爬虫-Python爬虫学习之(一)| 从零开始
  10. 卖白菜|贱卖白菜|卖大白菜|贱卖大白菜|买白菜
  11. Mac MySQL忘记密码解决办法
  12. 使用CollapsingToolbarLayout高仿稀土掘金个人中心页
  13. android 电池电量显示不正常,vivo电量显示不正常怎么解决?vivo手机电量校准教程...
  14. Android电话拦截及拦截提示音的实现
  15. 票据业务-银票、商票
  16. 安装Tomcat详细步骤
  17. java list按字母排序_如何按字母顺序对列表进行排序?
  18. 美工(一)网页颜色搭配技巧 文字字体、字号、字体排版等
  19. 爱心网页浪漫,博主司机搞事情啦,附百度网盘源码自取哦
  20. 2008-2010:中国医疗器械公司规模排名前20名

热门文章

  1. 862. 和至少为 K 的最短子数组
  2. spring—JdbcTemplate使用
  3. leetcode 839. 相似字符串组(并查集)
  4. JavaScript Essentials:如何为循环而烦恼
  5. 打破双亲委派么,怎么打破_质量保证被打破。 这就是我们如何使其像其他所有东西一样敏捷。...
  6. 多元时间序列回归模型_多元时间序列分析和预测:将向量自回归(VAR)模型应用于实际的多元数据集...
  7. django-rest-framework解析请求参数过程详解
  8. MySQL基础操作(一)
  9. javascript高级程序设计---js事件思维导图
  10. [Matlab] 画图命令