C# maskedtextbox sayı sınırlandırması nasıl yapılır?

AnarionV

Hectopat
Katılım
10 Haziran 2019
Mesajlar
74
Çözümler
1
Öncelikle merhabalar. Altta belirttiğim ekran görüntüsündeki düzene göre girilen sayıların sırasıyla 24-60-60 sayılarından büyük olursa butona tıklandığında hata veren kodu arıyorum. Kullandığım program Visual Studio ve C# dilinde yazıyorum.
(Alarm programı yapıyorum)

1641065754165.png
 
Öncelikle merhabalar. Altta belirttiğim ekran görüntüsündeki düzene göre girilen sayıların sırasıyla 24-60-60 sayılarından büyük olursa butona tıklandığında hata veren kodu arıyorum. Kullandığım program Visual Studio ve C# dilinde yazıyorum.
(Alarm programı yapıyorum)

Eki Görüntüle 1258434
Butona tiklaninca calisan fonksiyonda degerlendirin bir for dongusunde hepsini.
 
C#:
private void maskedTextBox1_Validating_1(object sender, CancelEventArgs e) {
    // Stop when empty (avoiding the user getting "locked" in the box)
    if (maskedTextBox1.Text.Length == 0) return;

    // Validate text, cancel when not valid and show error to user
    if (maskedTextBox1.Text.Length < 4 || maskedTextBox1.Text.Length > 15) {
        e.Cancel = true;
        MessageBox.Show("Please enter a text of 4 - 15 characters length!");
    }
}

Alıntıdır.
 
C#:
private void button1_Click(object sender, EventArgs e)
        {
            string[] veri = maskedTextBox1.Text.Split(':');
            int saat = Convert.ToInt32(veri[0]);
            int dakika = Convert.ToInt32(veri[1]);
            int saniye = Convert.ToInt32(veri[2]);

            if (saat<=24 && dakika<=60 && saniye<=60)
            {
                MessageBox.Show("ok");
            }
            else
            {
                MessageBox.Show("hata");
            }
        }
 
C#:
private void button1_Click(object sender, EventArgs e)
        {
            string[] veri = maskedTextBox1.Text.Split(':');
            int saat = Convert.ToInt32(veri[0]);
            int dakika = Convert.ToInt32(veri[1]);
            int saniye = Convert.ToInt32(veri[2]);

            if (saat<=24 && dakika<=60 && saniye<=60)
            {
                MessageBox.Show("ok");
            }
            else
            {
                MessageBox.Show("hata");
            }
        }
Teşekkürler çalıştı.
Teşekkürler çalıştı.
1641069863971.png


Yanlış saat girince hata yakalama çalıştı fakat en aşağıdaki boş bırakınca hata verme komutu çalışmıyor.
Teşekkürler çalıştı.

1641069863971.png


Yanlış saat girince hata yakalama çalıştı fakat en aşağıdaki boş bırakınca hata verme komutu çalışmıyor.
Boş geçme uyarısını en üste alıp altına return; ekleyince sorun çözüldü.
 
Son düzenleme:
Teşekkürler çalıştı.

Eki Görüntüle 1258507

Yanlış saat girince hata yakalama çalıştı fakat en aşağıdaki boş bırakınca hata verme komutu çalışmıyor.

Boş geçme uyarısını en üste alıp altına return; ekleyince sorun çözüldü.
C#:
private void button1_Click(object sender, EventArgs e)
        {
            string[] veri = maskedTextBox1.Text.Split(':');
            int saat = 0, dakika = 0, saniye = 0;
            if (veri[0]!="" && veri[1]!="" && veri[2]!="")
            {
                saat = Convert.ToInt32(veri[0]);
                dakika = Convert.ToInt32(veri[1]);
                saniye = Convert.ToInt32(veri[2]);

                if (saat <= 24 && dakika <= 60 && saniye <= 60)
                {
                    MessageBox.Show("ok");
                }
                else
                {
                    MessageBox.Show("hata");
                }
            }
            else
            {
                MessageBox.Show("hata");
            }

        }
Böyle de deneyebilirsiniz.
 
C#:
private void button1_Click(object sender, EventArgs e)
        {
            string[] veri = maskedTextBox1.Text.Split(':');
            int saat = 0, dakika = 0, saniye = 0;
            if (veri[0]!="" && veri[1]!="" && veri[2]!="")
            {
                saat = Convert.ToInt32(veri[0]);
                dakika = Convert.ToInt32(veri[1]);
                saniye = Convert.ToInt32(veri[2]);

                if (saat <= 24 && dakika <= 60 && saniye <= 60)
                {
                    MessageBox.Show("ok");
                }
                else
                {
                    MessageBox.Show("hata");
                }
            }
            else
            {
                MessageBox.Show("hata");
            }

        }
Böyle de deneyebilirsiniz.
Teşekkür ederim yardımınız için iyi geceler.
 

Yeni konular

Geri
Yukarı