当我的表单中有淡入功能时,任务栏图标不会显示
Taskbar icon won't show when I have a fade in feature in my form
我已经在表单上创建了一个通知栏,基本上完全符合我的需要...除了,当我添加淡入淡出功能时,任务栏图标没有显示。对于我的应用程序,这是必要的,因为当显示通知时任务栏图标会闪烁橙色。我已经检查了明显的,例如:my ShowInTaskbar
属性 = true,并且在应用程序属性中选择了正确的图标。
我想知道是否有人知道为什么会发生这种情况,是否有办法解决这个问题,我可以让表单的淡入淡出效果保持不变。
我已经包含了表单代码。激活淡入的是第 13、20 和 27-31 行。
Imports System.Data.SqlClient
Imports system.runtime.interopservices
public class form10
<DllImport("user32.dll", EntryPoint:="FlashWindow")>
Public Shared Function FlashWindow(ByVal hwnd As Integer, ByVal bInvert As Integer) As Integer
End Function
Private Sub Form10_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' sets form to bottom right of page
Me.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width - 381, Screen.PrimaryScreen.WorkingArea.Height - 131)
Me.Opacity = 0.1
With Timer1
.Interval = 300
.Enabled = True
.Start()
End With
Timer2.Start()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
FlashWindow(Me.Handle, 1)
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
If Me.Opacity < 1.0 Then
Me.Opacity = Me.Opacity + 0.1
End If
End Sub
我已经通过停止计时器并将此代码添加到 Private sub Timer2_Tick
来修复它
If Me.Opacity = 1 Then Timer2.Stop() End If
同时取消 TopMost
属性 并向加载子添加 me.TopMost = True
代码完全纠正了我的问题。
我已经在表单上创建了一个通知栏,基本上完全符合我的需要...除了,当我添加淡入淡出功能时,任务栏图标没有显示。对于我的应用程序,这是必要的,因为当显示通知时任务栏图标会闪烁橙色。我已经检查了明显的,例如:my ShowInTaskbar
属性 = true,并且在应用程序属性中选择了正确的图标。
我想知道是否有人知道为什么会发生这种情况,是否有办法解决这个问题,我可以让表单的淡入淡出效果保持不变。
我已经包含了表单代码。激活淡入的是第 13、20 和 27-31 行。
Imports System.Data.SqlClient
Imports system.runtime.interopservices
public class form10
<DllImport("user32.dll", EntryPoint:="FlashWindow")>
Public Shared Function FlashWindow(ByVal hwnd As Integer, ByVal bInvert As Integer) As Integer
End Function
Private Sub Form10_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' sets form to bottom right of page
Me.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width - 381, Screen.PrimaryScreen.WorkingArea.Height - 131)
Me.Opacity = 0.1
With Timer1
.Interval = 300
.Enabled = True
.Start()
End With
Timer2.Start()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
FlashWindow(Me.Handle, 1)
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
If Me.Opacity < 1.0 Then
Me.Opacity = Me.Opacity + 0.1
End If
End Sub
我已经通过停止计时器并将此代码添加到 Private sub Timer2_Tick
来修复它If Me.Opacity = 1 Then Timer2.Stop() End If
同时取消 TopMost
属性 并向加载子添加 me.TopMost = True
代码完全纠正了我的问题。