2016-09-12 1 views
0

Я создал панель уведомлений в форме и в основном имею ее в точности, как она мне нужна ... Кроме того, когда я добавляю функцию fade в функцию , значок панели задач не отображается. Для моего приложения это необходимо, потому что значок панели задач мигает оранжевым, когда отображается уведомление. Я проверил очевидное, например: my ShowInTaskbar property = 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 
+0

Ваш код отлично подходит для меня (значок панели задач виден и мигает) в Windows 7 x64 – djv

+0

После дальнейших испытаний он решает работать при определенных условиях. например, если это не «самый верхний», он будет работать, или если вы перетащите его, это сработает. Не уверен, как заставить его мигать независимо. @Verdolino –

ответ

0

Я установил его, остановив таймер и добавить этот код Private Sub Timer2_Tick

If Me.Opacity = 1 Then Timer2.Stop() End If 

Также взлетает TopMost и добавление me.TopMost = True код для загрузки полностью полностью исправил мою проблему.