求这段WPF(后台代码)的错误出在哪里= =
vb.net吧
全部回复
仅看楼主
level 6
mscdld 楼主
Imports System.Windows.Threading
Imports System.Media
Public Class Splash
Private AniC As Short = 145
Private S1 As GradientStop = New GradientStop
Private S2 As GradientStop = New GradientStop
Private S3 As GradientStop = New GradientStop
Private AniT As DispatcherTimer = New DispatcherTimer
Private TextFillCol As GradientStopCollection = New GradientStopCollection
Private TextFill As GradientBrush = New LinearGradientBrush(TextFillCol, -90)
Private Sub Splash_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
AddHandler AniT.Tick, AddressOf TextRefresh
S1.Offset = 0
S2.Offset = 0
S3.Offset = 0
S1.Color = Color.FromArgb(255, 255, 255, 255)
S2.Color = Color.FromArgb(255, 255, 255, 255)
S3.Color = Color.FromArgb(255, 255, 255, 255)
TextFillCol.Add(S1)
TextFillCol.Add(S2)
TextFillCol.Add(S3)
AniT.Interval = New TimeSpan(0, 0, 0, 0, 1)
AniT.Start()
AniTxt.Foreground = TextFill
End Sub
Private Sub TextRefresh(sender As Object, e As EventArgs)
AniC += 1
If AniC > 145 Then
AniC = -5
End If
If AniC < 5 Then
S1.Color = Color.FromArgb(255, 128, 0, 255)
S2.Color = Color.FromArgb(255, 255, 255, 255)
S3.Color = Color.FromArgb(255, 255, 255, 255)
S1.Offset = 0
S2.Offset = AniC + 5
S3.Offset = 100
ElseIf AniC <= 100 Then
S1.Color = Color.FromArgb(255, 255, 255, 255)
S2.Color = Color.FromArgb(255, 128, 0, 255)
S3.Color = Color.FromArgb(255, 255, 255, 255)
S1.Offset = AniC - 5
S2.Offset = AniC
S3.Offset = AniC + 5
ElseIf AniC <= 105 Then
S1.Color = Color.FromArgb(255, 255, 255, 255)
S2.Color = Color.FromArgb(255, 255, 255, 255)
S3.Color = Color.FromArgb(255, 128, 0, 255)
S1.Offset = 0
S2.Offset = AniC - 5
S3.Offset = 100
End If
End Sub
End Class
以上代码的预期运行效果是文字的紫色渐变条循环从左滑到右,但是实际效果是每隔一段时间闪呈紫色。求高人帮忙=。=
2014年10月25日 10点10分 1
level 13
这写法...有c#风气
TextRefresh相当混乱,看不出想用它干什么
2014年10月25日 13点10分 2
感谢回复 反正这只是这个程序的细节之处 我还是先把alpha版做好了再考虑UI渲染吧= = 这段代码纯属从MSDN上各种复制修改和臆想= =
2014年11月01日 00点11分
1