使乙個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中別的事情就不要幹了 呵呵。 整個**如下:
01
private
void
form1_deactivate(
object
sender, eventargs e)
02
05
06
private
void
timer1_tick(
object
sender, eventargs e)
07
彈出懸浮視窗並讓置頂程式
首先是主窗體部分,即要判斷窗體的狀態來決定是否顯示懸浮視窗。區域性成員宣告 private formwindowstate fwsprevious private frmtopmost mytopmost 主窗體的load事件 private void frmmain load object sen...
WinForm畫網格並填充顏色
因為研究codecombat上的最後一題,自己嘗試分解題目,然後想到需要畫網格,還有最優化的方法 源 如下 using system using system.collections.generic using system.componentmodel using system.data usin...
Winform傳遞引數至Url並獲得返回值
在winform裡面呼叫url並傳遞引數主要使用httpwebrequest物件,分為兩種形式post和get,個人感覺就是模擬了瀏覽器,1.post方法 使用post方法,呼叫簡訊介面 提交請求資料 2,get方法 使用get方法 3,呼叫起來都比較簡單的,主要是在傳遞引數的過程中注意中文的處理,...