C#實現(xiàn)讓窗體獲得焦點的方法示例
本文實例講述了C#實現(xiàn)讓窗體獲得焦點的方法。分享給大家供大家參考,具體如下:
開發(fā)環(huán)境:Visual Studio .NET 2005 下的Windows Form Application
應(yīng)用場景:當我們有個窗體中的數(shù)據(jù)發(fā)生了變化而此窗體又沒有獲得焦點(不是用戶操作的當前窗口)的時候,我們希望它獲得焦點,這樣用戶就可以立刻發(fā)現(xiàn)它上面的數(shù)據(jù)發(fā)生了變化。
新建一個Window應(yīng)用程序,會建立Form1,再添加一個Timer(timer1),設(shè)置如下屬性:

然后添加timer1的Tick事件函數(shù),完整代碼如下:
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); //設(shè)置此窗體為活動窗體
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Handle != GetF()) //如果本窗口沒有獲得焦點
SetF(this.Handle); //設(shè)置本窗口獲得焦點
}
}
}
運行看看,你會發(fā)現(xiàn)當Tick事件發(fā)生時,本窗口總會跳出來告訴你--我獲得焦點了
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#窗體操作技巧匯總》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#常見控件用法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計入門教程》及《C#程序設(shè)計之線程使用技巧總結(jié)》
希望本文所述對大家C#程序設(shè)計有所幫助。
- C# WINFORM 強制讓窗體獲得焦點的方法代碼
- 解決C#中取消方向鍵對控件焦點控制的實現(xiàn)方法
- C#,winform,ShowDialog,子窗體向父窗體傳值
- C#設(shè)置子窗體在主窗體中居中顯示解決方案
- C#窗體編程不顯示最小化、最大化、關(guān)閉按鈕的方法
- C# 開發(fā)圓角控件(窗體)的具體實現(xiàn)
- C#實現(xiàn)讓窗體永遠在窗體最前面顯示的實例
- 用 C# Winform做出全透明的磨砂玻璃窗體效果代碼
- C# Winform實現(xiàn)捕獲窗體最小化、最大化、關(guān)閉按鈕事件的方法
- c# winform 關(guān)閉窗體時同時結(jié)束線程實現(xiàn)思路
- C# SkinEngine控件 給窗體添加皮膚的方法
- C#最簡單的關(guān)閉子窗體更新父窗體的實現(xiàn)方法

