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