Kaydol:
Kayıt Yorumları
(
Atom
)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace c_sharp_geriye_dogru_sayma
{
public partial class Form1 : Form
{
DateTime zaman;
int geriSayanZamanSaniye;
int i = 1;
int saat, dakika, saniye;
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
saatiGuncelle();//timer1 başlatıldığında sistem saati güncellesin
geriSayanZamanSaniye -= 1; //gerisayım saatini bir azalt
//text kutularında kalan zamanı göster
txtSaat.Text = (geriSayanZamanSaniye / 3600).ToString("00");
txtDakika.Text = ((geriSayanZamanSaniye % 3600) /60).ToString("00");
txtSaniye.Text = (geriSayanZamanSaniye % 60).ToString("00");
//Zaman tamamlandıysa timer ı durduralım.
if (geriSayanZamanSaniye == 0)
timer1.Stop(); //timerı durdur fonksiyonu
lblGeriSayanSaat.Text = txtSaat.Text + ":" + txtDakika.Text + ":" + txtSaniye.Text;
}
private void btnBaslat_Click(object sender, EventArgs e)
{
//etiketimizdeki saati güncellemesini istiyorum
//amacım sistem saatini görmek
saatiGuncelle();
//Geri sayım saatini güncellemek için
//saat,dakika ve saniye textbox larındaki değerleri ilk önce kontrol et
//eğer girilen değer doğru ise işleme devam et
bool sonuc = geriSayimSaatiniKontrolEt();
if (sonuc)
{
geriSayanZamanSaniye = saat * 60 * 60 + dakika * 60 + saniye;
timer1.Interval = 1000;
timer1.Start();
}
}
private void Form1_Load(object sender, EventArgs e)
{
saatiGuncelle();
txtSaat.Text = "01";
txtDakika.Text = "00";
txtSaniye.Text = "00";
}
private void saatiGuncelle()
{
//sistem saatini götüntüleme
zaman = DateTime.Now;
lblSaat.Text = zaman.ToLongTimeString();
}
private bool geriSayimSaatiniKontrolEt()
{
//geri sayım için girilen saat, dakika ve saniye bilgilerini kontrol edelim
// eğer bir hata varsa programımızın hata yapmaması için uyarı verelim
try
{
//ilk önc girilen değerler rakam mı bunu kpnrol edelim
saat = int.Parse(txtSaat.Text);
dakika = int.Parse(txtDakika.Text);
saniye = int.Parse(txtSaniye.Text);
//Şimdi de giriln değerler doğru aralıklarda mı onu kontrol edelim
if (saniye < 60 && dakika < 60 && saniye > -1 && dakika > -1 && saat > -1)
return true;
else
{
//Eğer bir hata varsa timerı durdurup uyarı verelim.
timer1.Stop();
return false;
}
}
catch (Exception)
{
timer1.Stop();
MessageBox.Show("Değerlerden birinde hata var", "Hata",
MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
}
}
Hiç yorum yok :
Yorum Gönder