有誰知道如何製作一個代碼,使用淡入/淡出來顯示標籤中的文本。如何在vb.net中使用帶淡入/淡出的標籤顯示消息?
例如:我在裏面有一個表格和一個標籤(VISIBLE = FALSE)
。 (如Button1
)。
該標籤將變得可見並且它將開始淡入。
也許它只有2秒。 2秒後標籤將變爲VISIBLE = FALSE
。提前致謝。
有誰知道如何製作一個代碼,使用淡入/淡出來顯示標籤中的文本。如何在vb.net中使用帶淡入/淡出的標籤顯示消息?
例如:我在裏面有一個表格和一個標籤(VISIBLE = FALSE)
。 (如Button1
)。
該標籤將變得可見並且它將開始淡入。
也許它只有2秒。 2秒後標籤將變爲VISIBLE = FALSE
。提前致謝。
這被發現here其中用戶正在尋找一個標籤半透明。我相信你可以從這方面獲得一些好處!
Imports System
Imports System.Drawing
Imports System.Windows.Forms
' <summary>
' A label that can be transparent.
' </summary>
Public Class TransparentLabel
Inherits Control
' <summary>
' Creates a new "TransparentLabel" instance.
' </summary>
Public Sub New()
TabStop = False
Dim transparencyValue As Integer = 15 '0 is all transparent, 255 is solid
ForeColor = Color.FromArgb(transparencyValue, ForeColor.R, ForeColor.G, ForeColor.B)
End Sub
' <summary>
' Gets the creation parameters.
' </summary>
Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or &H20
Return cp
End Get
End Property
' <summary>
' Paints the background.
' </summary>
' <param name="e">E.</param>
Protected Overrides Sub OnPaintBackground(ByVal e As PaintEventArgs)
' do nothing
End Sub
' <summary>
' Paints the control.
' </summary>
' <param name="e">E.</param>
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
Using brush As SolidBrush = New SolidBrush(ForeColor)
e.Graphics.DrawString(Text, Font, brush, -1, 0)
End Using
End Sub
End Class
編輯
研究的一個短位後,this從代碼項目出現。它將圖像設置爲半透明。
有了這個,結合timer
應該可以讓你生成你正在尋找的東西。
所以,在time_Tick事件中,有你的'淡入淡出的代碼'。在不透明度達到0之後,只需停止定時器並重置即可。 :)
編輯的編輯
this link是一個討論板,討論如何做到這一點(希望)。
好吧謝謝生病嘗試。它真的看起來很有用:) – user3418036 2014-09-25 15:00:55
如果你可以使用WPF,它會容易得多,因爲有更多的控件,並且'做你想做的事情'更容易 - 但是winforms更加'可學習',因此它是一個新程序員的出發點。如果可以的話,看一看WPF,並且*會更加容易理解'複雜'的想法。 – 2014-09-25 15:09:34
在Winforms中製作視覺效果的一種可靠方法是使用自定義繪圖,理想情況下使用DirectDraw。您可以完全控制繪圖過程。如果你使用Timer解決方法,你會注意到一個不規則/煩人的閃爍。如果您是在動畫製作表單後,WPF是一個很好的建議。看看,WinForms不是爲動畫而建的,這項技術應該在系統資源上很輕,並且可以在非常陳舊和過時的硬件上運行,通過RDP和非常慢的網絡連接。
我知道你在想什麼......「你怎麼能忍受靜態/無聊的灰色灰色的東西?」。那麼事實證明,用戶實際上可以接受這個限制,因爲重要的是你的軟件如何解決他們的問題,而不是多好。至少對於許多商業應用來說這是事實。例如,主要的知名連鎖店仍在使用30年前的DOS式提示,甚至連動畫,鼠標都不在那裏。我還知道加拿大至少有一家保險公司,其中部分功能是純文本界面,所有人都可以。
如果您不開發業務應用程序,WinForms作爲平臺不是一個好選擇。
標籤有背景。你想讓標籤淡入/淡出還是隻顯示文字? – 2014-09-25 14:55:10
標籤沒有背景。也許標籤,如果它可以淡入/淡出。 – user3418036 2014-09-25 15:11:57
如果你這麼說... – 2014-09-25 15:43:25