Geri Sayım-Timer Uygulaması
Bu makalemizde Rapidshare deki gibi geri sayım uygulaması yapacağız. Combobox nesnesinden seçilen dakika ve saniyeden geriye doğru saydıracağız. Ayrıca timer ın interval değerini, formun rengini vb... işlemleri çalışma anında yapabileceğiz. Aşağıdaki şekilleri inceleyin. Formunuza 1 adet Timer, 3 adet Label ve 4 adet Combobox nesnesi ekleyin.
Şekil 1
Şekil 2
Public Class Form1
Dim i As Integer = 5
Dim j As Integer = 59
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Enabled = False
Timer1.Interval = 1000
Label1.Text = "0" & i
Label2.Text = "00"
Label3.Text = ":"
cmb1.Text = "59"
cmb2.Text = "0"
cmb3.Text = "Timer Hızını Ayarla"
cmb1.Enabled = False
cmb2.Enabled = False
cmb3.Enabled = False
cmb4.Text = "Renk Ayarla"
With Me
.Text = "Geri Sayım"
.Location = New Point(250, 150)
.MaximizeBox = False
.MinimizeBox = False
End With
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If j = 59 Then
i = i - 1
If i < 9 Then
Label1.Text = "0" & i
Else
Label1.Text = i
End If
ElseIf j = -1 Then
If i > 9 Then
i = i - 1
Label1.Text = i
j = 59
ElseIf i > 0 And i <= 9 Then
i = i - 1
Label1.Text = "0" & i
j = 59
ElseIf i <= 0 Then
j = 0
i = 0
Label3.Text = ":"
Timer1.Enabled = False
End If
End If
If Label3.Text = ":" Then
Label3.Text = ""
Else
Label3.Text = ":"
End If
If j > 9 Then
Label2.Text = j
Else
Label2.Text = "0" & j
End If
If i = 0 And j = 0 Then
Label3.Text = ":"
btnBaslat.Text = "Baslat"
Timer1.Enabled = False
MsgBox("Süre Bitti", MsgBoxStyle.OkOnly, "Bahadirsa Mesaj")
Exit Sub
End If
j = j - 1
End Sub
Private Sub btnBaslat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBaslat.Click
If Timer1.Enabled = False Then
Timer1.Enabled = True
btnBaslat.Text = "Durdur"
Else
Timer1.Enabled = False
btnBaslat.Text = "Başlat"
End If
End Sub
Private Sub cbox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbox1.CheckedChanged
Label3.Text = ":"
If cbox1.Checked Then
cmb1.Enabled = True
cmb2.Enabled = True
cmb3.Enabled = True
i = cmb1.Text
j = cmb2.Text
Label1.Text = i
If i <= 9 Then
Label1.Text = "0" & i
End If
If j > 9 Then
Label2.Text = j
Else
Label2.Text = "0" & j
End If
Else
i = 5
j = 0
Label1.Text = "0" & i
Label2.Text = "0" & j
Label3.Text = ":"
Timer1.Enabled = False
cmb1.Enabled = False
cmb2.Enabled = False
cmb3.Enabled = False
btnBaslat.Text = "Başlat"
End If
End Sub
Private Sub cmb3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb3.SelectedIndexChanged
Timer1.Interval = cmb3.Text
End Sub
Private Sub cmb1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb1.SelectedIndexChanged
cbox1_CheckedChanged(sender, e)
End Sub
Private Sub cmb2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb2.SelectedIndexChanged
cbox1_CheckedChanged(sender, e)
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb4.SelectedIndexChanged
If ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
If cmb4.SelectedIndex = 0 Then
Label1.ForeColor = ColorDialog1.Color
Label2.ForeColor = ColorDialog1.Color
Label3.ForeColor = ColorDialog1.Color
ElseIf cmb4.SelectedIndex = 1 Then
Label1.BackColor = ColorDialog1.Color
Label2.BackColor = ColorDialog1.Color
Label3.BackColor = ColorDialog1.Color
ElseIf cmb4.SelectedIndex = 2 Then
Me.BackColor = ColorDialog1.Color
End If
End If
End Sub
End Class
Bir sonraki makalede buluşmak üzere...Bahadır