WinForm始终置顶并获取焦点
??? 使一個Winform始終置頂很簡單,只要將這個Form的TopMost屬性設置為True即可,但是強制讓其獲取焦點就比較麻煩了。
最開始的想法在Deactivate事件(Form處于非活動狀態時)中,加入如下代碼:
??????????? this.Activate();//this為當前窗體
??????????? this.Focus();
??? 但是發現斷點調試的時候OK,但是一旦取消斷點,運行起來就發現不行了。最后想到用Timer控件來完成這樣的功能。發現使用Timer后,就可以使Form永久的處于活動狀態了。具體方法如下:
??? 1 在窗體中加入Timer控件,設置interval:100(或者50, 根據個人喜好 ^_^),記得不要將Enable設置為True。
??? 2 在Deactivate事件中,添加代碼:Timer1.Start();
??? 3 在Timer的Tick事件中,加入如下代碼:
??????????? this.Activate();//this為當前窗體
??????????? this.Focus();
??????????? timer1.Stop();
??? 最后,一定要注意的是Timer的開啟和關閉計時的時機,如果只有Start沒有Stop的話,那么此Form中別的事情就不要干了 呵呵。 整個代碼如下:
???
private void Form1_Deactivate(object sender, EventArgs e){timer1.Start();}private void timer1_Tick(object sender, EventArgs e){this.Activate();this.Focus();timer1.Stop();}?
轉載于:https://www.cnblogs.com/SandyWang/archive/2010/08/05/1793065.html
總結
以上是生活随笔為你收集整理的WinForm始终置顶并获取焦点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.3.5子网划分和子网掩码
- 下一篇: Google Analytics(分析)