程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#實現讓窗體獲得焦點的方法示例

C#實現讓窗體獲得焦點的方法示例

編輯:C#入門知識

C#實現讓窗體獲得焦點的方法示例。本站提示廣大學習愛好者:(C#實現讓窗體獲得焦點的方法示例)文章只能為提供參考,不一定能成為您想要的結果。以下是C#實現讓窗體獲得焦點的方法示例正文


C#實現讓窗體獲得焦點的方法示例

作者:JoeBlackzqq

這篇文章主要介紹了C#實現讓窗體獲得焦點的方法,涉及C#窗體事件相關操作技巧,需要的朋友可以參考下

本文實例講述了C#實現讓窗體獲得焦點的方法。分享給大家供大家參考,具體如下:

開發環境: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事件發生時,本窗口總會跳出來告訴你--我獲得焦點了

更多關於C#相關內容感興趣的讀者可查看本站專題:《C#窗體操作技巧匯總》、《C#數據結構與算法教程》、《C#常見控件用法教程》、《C#面向對象程序設計入門教程》及《C#程序設計之線程使用技巧總結》

希望本文所述對大家C#程序設計有所幫助。

  1. 上一頁:
  2. 下一頁: