1. 程式人生 > >讓窗體獲得焦點,一定會有您用到的時候

讓窗體獲得焦點,一定會有您用到的時候

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

相關推薦

窗體獲得焦點一定到的時候

開發環境:Visual Studio .NET 2005 下的Windows Form Application 應用場景: 當我們有個窗體中的資料發生了變化而此窗體又沒有獲得焦點(不是使用者操作的當前視窗)的時候,我們希望它獲得焦點,這樣使用者就可以立刻發現它上面的資料發生

js 在==時一些人難以理解的陷阱

在==時,則會有一些讓人難以理解的陷阱。 (function () {      var undefined;      undefined == null; // true   &n

(視訊)《快速建立網站》 4.1 為啥造軟體不同於造汽車為啥是軟體就一定Bug - 構建開發運維一體化(DevOps)

本文是《快速建立網站》系列的第9篇,如果你還沒有看過之前的內容,建議你點選以下目錄中的章節先閱讀其他內容再回到本文。訪問本系列目錄,請點選:http://anb.io/blog/tag/wordpress-on-azure/ 經過前三部分的內容(視訊),我相信大家對如何使用雲端計算平臺和WordPress

一堂價值39萬元的課把它看完一定收穫

和 別人發生意見上的紛歧,甚造成言語上的衝突,所以你悶悶不樂,因為你覺得都是別人惡意。別再耿耿於懷了,回家去擦地板吧。拎一塊抹布,彎下腰,雙膝著地, 把你面前這張地板的每個角落來回擦拭乾淨。然後重新省思自己在那場衝突,所說過的每一句話。現在,你發現自己其實也有不對的地方了,是不是?你漸漸心平氣 和了,是不是?

webview中播放視屏返回或者退出後仍然聲音。

網頁 one nsh 鏈接 codes 聲音 div 獲得 logs 解決辦法: protected void onPause() { super.onPause(); if (Build.VERSION.SDK_INT >= Build.VERS

Ubuntu 16.04安裝Fiddler抓包工具(基於MonoBUG)

clas 新的 pan ddl chmod mon aid bsp code 說明:Fiddler官方提供了Mono版本的,但是只有2014版本的,不是最新的,並且運行期間會有BUG,比如界面錯亂卡死等等,但是勉強能代理,抓SSL的包,如果使用了要做好心理準備。將就一下還是

機器人自己走真的可以~

我們都曾有過這樣的經歷:到了一個陌生的地方,比如商場,想要尋找某個具體商鋪時,在有了地圖導航、工作人員的提示之後,兜兜轉轉,仍然找!不!到!   這個時候,如果有專人帶你去,簡直是VVVIP級的待遇啊。而思嵐,對,就是我們,能提供一套解決方案,在沒有佔用任何員工時間的情況下,給顧客

在Nuget管理器上安裝MvvmLight框架有時候如下提示: “MvvmLightLibs”已擁有為“CommonServiceLocator”定義的依賴項。

VS2013安裝後,在Nuget管理器上安裝MvvmLight框架,有時候會有如下提示:  “MvvmLightLibs”已擁有為“CommonServiceLocator”定義的依賴項。   可能是大牛們都不屑於寫這麼簡單的筆記,網上搜索一圈都找不到解決辦

難以置信怎麼這麼美的程式設計師!這肯定是個bug!

生活中不難發現,男性總是對女性獻殷勤,尤其是美麗的女性。公司有個女程式設計師很大程度可以活躍公司氣氛,這裡給公司老闆支個招,也是程式設計師的大福利,就是招一個什麼都不懂的美女程式設計師,然後給她最難的工作,或者公司近期最緊急的專案,讓美女程式設計師去拜託別的男程式設計師完成,我敢保證,這個專案肯定很

每每看到程式碼親切之感!

package com.jvm.study.classload; public class SuperClass1 { static { System.out.println("SuperClass1 init----"); } public stati

都100%程式碼覆蓋了什麼問題?

引言 很多人看到這個標題時,都會想“你都100%程式碼覆蓋了,怎麼還會有問題呢?” 讓我們看一下程式碼例子: public class TestCalculator { public Double add(Double a, Doub

EditText無法輸入內容無法獲得焦點無法自動彈出鍵盤

我碰到這個問題剛開始是抓狂的,最後知道真相的我已經瘋了。 我出現這個問題的原因是,我的小夥伴在佈局中添加了一句程式碼: android:descendantFocusability="block

JavaScript字串不是物件為什麼屬性呢?(理解JavaScript中的包裝物件)

例項1: var s = "hello javascript!"; //定義一個字串 var world = s.substring(s.indexOf(" ")+1, s.length); //

設定EditText獲得焦點同時彈出小鍵盤

關於這個EditText獲得焦點,彈出小鍵盤的問題,前不久的專案中糾結了筆者一段時間需求是:進入Activity後,讓EditText獲得焦點,同時彈出小鍵盤供使用者輸入!試了很多網上的方法都不可以,不知道是不是因為筆者用的5.1的系統的問題!下面小結下: 首先是讓Ed

QT中XML增刪改查重複beta

最近在做QT專案,要把一些配置內容寫入xml中,網上沒有一個可以概括xml增刪改查的內容,現在寫一篇,包含完整的增刪改查,測試通過,具體程式碼如下: 其中的測試程式碼見mainwindows.cpp裡面,裡面有建立xml檔案,增加資料,刪除資料,修改資料,查詢資料,其中沒有

Windows 觸控式螢幕的 LBUTTONDOWN不單獨響應必須先MOUSEMOVE訊息LBUTTONDOWN

自己的程式是一個影象處理軟體,裡面要實現影象的拖動功能,程式在滑鼠操作的情況下,完全正常。當滑鼠點選在一張圖片上,然後移動,則選中的影象會跟隨滑鼠移動。但是用手指在觸控式螢幕上操作的時候,圖片無法移動。仔細觀察現象後,發現是因為手指單擊這訊息沒有響應,所以後續移動操作自然無

為什麼了Compose和SwarmKubernetes的出現?

一、k8s設計思想更先進 k8s的主要設定思想,是從更巨集觀的角度,以統一的方式來定義任務之間的各種關係 1.k8s的核心功能圖 2.k8s的全域性架構圖 把微服務比喻為人,服務治理解決的是人的溝通,人太多了就需要生存空間和溝通方式的優化,這就需要叢集和編排。 compose和swarm可以解決少數人

#碩士程式設計師被本科嘲諷年齡比我大級別比我低讀研呢?

現在程式設計師想進大廠可以通過校招或者社招進去,很多人選擇讀研其實本科畢業就可以選擇進網際網路那個大企業,但是也有些人會選擇讀研提高自己再工作,這樣自己選擇的餘地多一些或者對自己將來的職場生涯更加容易。但是最近一說是被一個本科給嘲諷了,年齡比我大級別比我低,真沒用。 如果有想學習java的程

建立一個建構函式什麼是建構函式建構函式什麼

一直搞不懂什麼是建構函式,為什麼要用建構函式,建構函式有什麼用,逃避這個問題,今天做了簡單的總結: 1.建構函式有什麼用? 當你需要大批量的寫物件的時候,就需要用到建構函式,它可以方便建立多個物件的例項,並且建立的物件可以被標識為特定的型別,可以通過繼承擴充套件程式碼 2.建構函式的特點

學了2天的Python自己寫了個簡單的爬蟲可是爬蟲什麼呢?

# -*- coding: UTF-8 -*- import requests import pandas import re import json from bs4 import BeautifulSoup import openpyxl def par