2016-09-12 1 views
0

양식에 알림 표시 줄을 만들었고 기본적으로 정확하게 필요한 방법을 가지고 있습니다 ... 페이드 인 기능을 넣을 때를 제외하고 , 작업 표시 줄 아이콘이 나타나지 않습니다. 알림이 표시되면 작업 표시 줄 아이콘이 주황색으로 깜박이기 때문에 필자의 응용 프로그램에는 필요합니다. 예 : 내 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

추가 테스트 후 특정 조건에서 작동하기로 결정했습니다. 예를 들어 그것이 작동 할 최상위가 아닌 경우 또는 드래그하면 작동합니다. 그것을 불문하고 어떻게 가져올 지 모릅니다. @ 베르도 리노 –

답변

0

나는 또한 이륙 Timer2_Tick

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

을 타이머를 중지하고 개인 서브에이 코드를 추가하여 해결했습니다 TopMost 속성을 추가하고 내 문제를 완전히 수정 한로드 하위에 me.TopMost = True 코드를 추가하십시오.