@@ -107,6 +107,7 @@ Public Class Form1
107107 Public UnSaveData As Integer '不保存设置
108108 Public UnReadData As Integer '不读取设置
109109 Public ShowModeTips As Integer '不显示横幅
110+ Public NeedStillTopMost As Integer '是否强制顶置
110111
111112 '倒计时目标时间
112113 Public SetDate As Date
@@ -368,15 +369,23 @@ Public Class Form1
368369 c = 0
369370 Me .SetTimeFormSize(aa.Height, aa.Width)
370371 End If
372+
373+ If Me .TopMost = True Then
374+ If Me .Visible = True Then
375+ If NeedStillTopMost = 1 Then
376+ SetWindowPos( Me .Handle, HWND_TOPMOST, 0 , 0 , 0 , 0 , TOPMOST_FLAGS)
377+ End If
378+ End If
379+ End If
371380 End Sub
372- ' <DllImport("user32.dll")>
373- ' Private Shared Function SetWindowPos(ByVal hWnd As IntPtr, ByVal hWndInsertAfter As IntPtr, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal uFlags As UInteger) As Boolean
374- ' End Function
381+ <DllImport( "user32.dll" )>
382+ Private Shared Function SetWindowPos( ByVal hWnd As IntPtr, ByVal hWndInsertAfter As IntPtr, ByVal X As Integer , ByVal Y As Integer , ByVal cx As Integer , ByVal cy As Integer , ByVal uFlags As UInteger) As Boolean
383+ End Function
375384
376- ' Const HWND_TOPMOST = -1
377- ' Const SWP_NOSIZE As UInteger = &H1
378- ' Const SWP_NOMOVE As UInteger = &H2
379- ' Const TOPMOST_FLAGS As UInteger = SWP_NOMOVE Or SWP_NOSIZE
385+ Const HWND_TOPMOST = - 1
386+ Const SWP_NOSIZE As UInteger = &H1
387+ Const SWP_NOMOVE As UInteger = &H2
388+ Const TOPMOST_FLAGS As UInteger = SWP_NOMOVE Or SWP_NOSIZE
380389
381390 Public Sub SetTimeFormSize( ByVal MeH As Integer , ByVal MeW As Integer )
382391 Dim disi As Graphics = Me .CreateGraphics()
@@ -455,6 +464,7 @@ Public Class Form1
455464 Form2.Label20.Text = "部分功能由于被管理员禁用而无法使用。"
456465 End Sub
457466 Public Sub loaddef( ByVal sender As System.Object, ByVal e As System.EventArgs)
467+ NeedStillTopMost = 1
458468 '////////////////////////////////////////////////////////////////////////////////////
459469 '//
460470 '// 系统颜色读取注册表读取(UnReadData=1)
@@ -1822,10 +1832,12 @@ Public Class Form1
18221832 End Sub
18231833
18241834 Private Sub ext_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ext.Click
1835+ NeedStillTopMost = 0
18251836 'If MessageBox.Show("确定要关闭时钟吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = MsgBoxResult.Yes Then
18261837 'End
18271838 'End If
18281839 Form2.ShowDialog()
1840+ NeedStillTopMost = 1
18291841 End Sub
18301842
18311843 Private Sub Me_FormClosing( ByVal sender As Object , ByVal e As FormClosingEventArgs) Handles Me .FormClosing
0 commit comments