Windows11任务栏的系统托盘如何显示秒数

How to display seconds in the system tray of the Windows 11 taskbar

众所周知,微软选择不在Windows11 系统托盘任务栏中显示秒数。因此,我决定创建一个小工具。

一个简单的计时器和一个在时钟旁边显示秒数的标签。 我使用的代码是:


Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.StartPosition = FormStartPosition.Manual
        Me.Location = New Point(1891, 1029)
        Me.Size = New Size(21, 18)

        Me.TransparencyKey = Color.LightBlue
        Me.BackColor = Color.LightBlue
    End Sub
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        Label1.Text = ":" + Format(Now, "ss")
    End Sub
End Class

总在最前面 属性 是正确的,但如果我单击任务栏,表单将从那里消失。 有办法解决吗? 谢谢

它正在消失,因为它正在失去焦点。如果你想让它持续保持焦点或“重新聚焦”,你可以引入一个 hacky 方法,在每个计时器滴答时重新聚焦表单。

因此您可以尝试将 Me.Focus() 添加到 timer1_tick 事件中。

this SO post 上分享了一个这样的例子。

一段时间后,我决定继续开发这个小工具,但由于某些原因,每次有通知时表单的位置都会向上移动,所以我最终使用以下代码强制调整位置System.Timers.Timer object that fires its Timer.Tick 每 0.1 秒(100 毫秒)发生一次事件

 Me.StartPosition = FormStartPosition.Manual
        Me.Location = New Point(1897, 1039)
        Me.Size = New Size(21, 18)
        Me.TransparencyKey = Color.LightBlue
        Me.BackColor = Color.LightBlue
        Label1.Text = Format(Now, "ss")
        Me.TopMost = True

简单但高效。