c winform 懸浮窗的效果

2022-03-24 10:43:45 字數 1860 閱讀 8351

用c#做乙個像flashget的懸浮視窗,其實很簡單,不像以前需要呼叫很多系統api。大致的步驟如下。

首先是主窗體部分,即要判斷窗體的狀態來決定是否顯示懸浮視窗。

區域性成員宣告:

private formwindowstate fwsprevious;

private frmtopmost mytopmost;

主窗體的load事件:

private void frmmain_load(object sender, system.eventargs e)

主窗體的sizechanged事件:

private void frmmain_sizechanged(object sender, system.eventargs e)

else if( this.windowstate != fwsprevious )

}然後,就是還原視窗方法,即供懸浮視窗進行呼叫的。

///

/// restore window state

///

public void restorewindow()

下來就是懸浮視窗部分**,首先要設定其窗體的formborderstyle為none,然後設定其的topmost為true,接下來,就是主要是三個滑鼠事件的處理,以下,具體說明如何實現的。

區域性成員宣告。

private point ptmousecurrrnetpos, ptmousenewpos, ptformpos, ptformnewpos;

private bool blnmousedown=false;

private frmmain pparent;

懸浮視窗的建構函式。

public frmtopmost( frmmain pmain )

懸浮視窗的load事件。

private void frmtopmost_load(object sender, system.eventargs e)

主要的三個滑鼠事件,即mousedown、mousemove、mouseup三個事件。

private void frmtopmost_mousemove(object sender, system.windows.forms.mouseeventargs e)

}private void frmtopmost_mousedown(object sender, system.windows.forms.mouseeventargs e)

}private void frmtopmost_mouseup(object sender, system.windows.forms.mouseeventargs e)

然後就是雙擊懸浮窗體,進行恢復主窗體。

private void frmtopmost_doubleclick(object sender, system.eventargs e)

private void switchtomain()

此外,還可以給懸浮視窗新增contextmenu,來輔助操作,這裡就不細說了。

private system.windows.forms.contextmenu mnupopup;

private system.windows.forms.menuitem mnumainwindow;

private system.windows.forms.menuitem mnuexit;

private void mnumainwindow_click(object sender, system.eventargs e)

private void mnuexit_click(object sender, system.eventargs e)

以上介紹的就是c# winform實現乙個懸浮視窗程式,希望對你有所幫助。

vc 實現懸浮窗,迅雷360懸浮球效果

1.setwindowrgn建立圓角懸浮窗dlgfloat rgn.createroundrectrgn rect.left,rect.top,rect.width rect.height 13,13 m rgnwnd.deleteobject m rgnwnd.createrectrgn 0,0,...

vue 側邊懸浮 vue實現移動端懸浮窗效果

本文講述,在使用vue的移動端實現類似於iphone的懸浮窗的效果。相關知識點 touchstart當在螢幕上按下手指時觸發 touchmove 當在螢幕上移動手指時觸發 touchend 當在螢幕上抬起手指時觸發 mousedown mousemove mouseup對應的是pc端的事件 touc...

vue 側邊懸浮 vue實現移動端懸浮窗效果

本文講述,在使用vue的移動端實現類似於iphone的懸浮窗的效果。相關知識點 touchstart當在螢幕上按下手指時觸發 touchmove 當在螢幕上移動手指時觸發 touchend 當在螢幕上抬起手指時觸發 mousedown mousemove mouseup對應的是pc端的事件 touc...