源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#实现让窗体获得焦点的方法示例

  • 时间:2020-10-26 19:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#实现让窗体获得焦点的方法示例
本文实例讲述了C#实现让窗体获得焦点的方法。分享给大家供大家参考,具体如下: [b]开发环境:[/b]Visual Studio .NET 2005 下的Windows Form Application [b]应用场景:[/b]当我们有个窗体中的数据发生了变化而此窗体又没有获得焦点(不是用户操作的当前窗口)的时候,我们希望它获得焦点,这样用户就可以立刻发现它上面的数据发生了变化。 新建一个Window应用程序,会建立Form1,再添加一个Timer(timer1),设置如下属性: [img]http://files.jb51.net/file_images/article/201706/2017613111935662.jpg?2017513112016[/img] 然后添加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事件发生时,本窗口总会跳出来告诉你--我获得焦点了 更多关于C#相关内容感兴趣的读者可查看本站专题:《[url=http://www.1sucai.cn/Special/611.htm]C#窗体操作技巧汇总[/url]》、《[url=http://www.1sucai.cn/Special/116.htm]C#数据结构与算法教程[/url]》、《[url=http://www.1sucai.cn/Special/165.htm]C#常见控件用法教程[/url]》、《[url=http://www.1sucai.cn/Special/478.htm]C#面向对象程序设计入门教程[/url]》及《[url=http://www.1sucai.cn/Special/227.htm]C#程序设计之线程使用技巧总结[/url]》 希望本文所述对大家C#程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部