[Windows Mobile Development and Hacking General] LlamaV3:
Public Sub updatestatus()
thetime = System.DateTime.Now.ToString("hh:mm")
If (thetime.StartsWith("0") = True) Then
thetime = thetime.TrimStart("0")
End If
thedate = System.DateTime.Now.ToString("dddd, MMMM d")

Dim RegPath As String = "system\state\phone"

Dim opname As String = Registry.GetString(Registry.RootKey.LocalMachine, RegPath, "Current Operator Name")
If (opname <> "" And opname <> "0") Then
carriername = opname
End If

If (thetime <> prevtime Or thedate <> prevdate) Then
MidBar.Refresh()
End If
If (prevcarriername <> carriername) Then
TopBar.Refresh()
End If

prevtime = thetime
prevdate = thedate
prevcarriername = carriername

Dim sigstrength As Integer = Registry.GetInt(Registry.RootKey.LocalMachine, RegPath, "Signal Strength Raw")
Dim ssimg As Bitmap

Select Case sigstrength
Case Is >= 80
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "5.bmp")
Case 60 To 79
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "4.bmp")
Case 40 To 59
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "3.bmp")
Case 20 To 39
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "2.bmp")
Case 1 To 19
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "1.bmp")
Case Else
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "0.bmp")
End Select

Dim ps As Integer
Try
powerstatus = New OpenNETCF.Windows.Forms.BatteryLife
ps = powerstatus.PowerStatus.BatteryLifePercent
Catch ex As Exception
ps = 0
End Try

Dim psimg As Bitmap

Select Case ps
Case 100
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "100.bmp")
Case 95 To 99
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "95.bmp")
Case 90 To 94
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "90.bmp")
Case 85 To 89
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "85.bmp")
Case 80 To 84
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "80.bmp")
Case 75 To 79
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "75.bmp")
Case 70 To 74
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "70.bmp")
Case 65 To 79
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "65.bmp")
Case 60 To 64
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "60.bmp")
Case 55 To 59
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "55.bmp")
Case 50 To 54
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "50.bmp")
Case 45 To 49
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "45.bmp")
Case 40 To 44
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "40.bmp")
Case 35 To 39
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "35.bmp")
Case 30 To 34
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "30.bmp")
Case 25 To 29
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "25.bmp")
Case 20 To 24
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "20.bmp")
Case 15 To 19
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "15.bmp")
Case 10 To 14
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "10.bmp")
Case 5 To 9
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "5.bmp")
Case Else
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "0.bmp")
End Select

If (ps <> prevps) Then
BatteryStatus.Image = psimg
End If
If (sigstrength <> prevss) Then
SignalStrength.Image = ssimg
End If

prevps = ps
prevss = sigstrength

End Sub

I've put in these case statements on the update status code, it's a bit more tidy and the else options prevent the warnings about psimg and ssimg possibly not being set.

I'm looking at drawing methods and it looks like quite a big thing to do, basically drawing the slide bar, slide button and slide ani on an offscreen bitmap and copying them all across into the location at the bottom of the screen. I might have to edit how the program detects the mouse moving the bar.