彈出懸浮視窗並讓置頂程式

2022-04-29 05:03:10 字數 1792 閱讀 7876

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

區域性成員宣告:

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)

Qt 讓彈出的視窗居中顯示

設定視窗居中顯示這是在ui程式設計中經常要遇到的問題。方法一 在視窗 qwidget類及派生類 的建構函式中新增如下 include move desktop width this width 2,desktop height this height 2 重新編譯後,該視窗啟動時在螢幕居中的位置。方...

VC 視窗置頂(置於桌面所有程式之上)

要做乙個軟體制裁密碼驗證,需要把窗體置於其他桌面程式之上,但總是置於其他彈出框之下,會造成使用者忽略了導致使用者不明什麼原因。後來查到了csnd的乙個帖子 試了以下方法便成功了,現把方法公布於下 在窗體的初始化函式oninitdialog 中新增以下一句 setwindowpos this m hw...

C 實現彈出選擇視窗並傳回值

新建乙個windows窗體 form2 form2裡也有乙個按鈕和乙個textbox控制項,在textbox裡輸入你想要的返回值。form1裡 private void button1 click object sender,eventargs e form2裡 public string str ...