İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp
  3. C# Boş Geçilemez Alanlar Nasıl Yapılır?

C# Boş Geçilemez Alanlar Nasıl Yapılır?

c sharp eğitimleri

C# Boş Geçilemez Alanlar Nasıl Yapılır?. Yaptığımız programlarda boş geçilemez alanlar her zaman işimize yarayan ve bize lazım olan bir işlemdir. Bir insert /update işleminde yada bir hesaplama işleminde çoğu zaman boş geçilmemesi gereken alanlarımız olur. Örneğin, Personel kaydı yaparken, personel adı ve soyadı  yada bir maaş hesaplaması işlemindeki bir değişken yazılması zorunlu olmalıdır.

Bu gibi işlemleri bir if else ile rahatla yapabiliriz. Elbette çok daha kompleks şekiller de de yapabiliriz. O kısımları şimdilik senaryo ve yapım şekli olarak anlatırım. Kod olarak ise ilerleyen zamanlarda yaparız. Şimdi dilerseniz C# zorunlu alan nasıl yapılır görelim.

C# Boş Geçilemez Alanlar

Senaryomuz şöyle olsun; Programı kullanacak olan kullanıcıların tanımlandığı bir ekranda kullanıcı adı, kullanıcı kodu ve kullanıcı şifresi alanlarının boş geçilemez alanlar olmasını istiyoruz ve bu boş geçilemez alanlar boş bırakıldı ise textbox renkleri sarı olsun. Ayrıca birde mesaj gösterelim. Renk vermemizin amacı ise kullanıcıya hangi alanların zorunlu olduğunu göstermemiz ve kod olarak da biraz tasarruf sağlamaktır. Aslında tasarruf denemez de şuan kullandığımız yöntem daha kısa diyelim. Şimdi anlatacağım yöntem biraz daha uzun. Bu tasarruf ise şöyle oluyor;

C# hakkındaki diğer dersler için tıklayabilirsiniz.

Şimdi zorunlu alan olarak 3 adet alanımız var.

Uzun yoldan yapsaydık textbox için bir if yazmak zorunda kalacaktık. Kullanıcı adı boş ise renklendir ve “kullanıcı adı boş olamaz” diye mesaj çıkarmak zorunda kalırdık. 3 alanımız var 3 kere if yazacaktık ve ayrıca şöyle de bir dezavantajımız da olacaktı ki oda 3 alanda boş ise 3 kere mesaj çıkacaktı.

Kısa yolda da 1 tanesi de boş olsa 3 tanesi de boş olsa tek mesaj çıkacak. Ancak burada bir dezavantajımız var. Atıyorum 2 alan dolu biri boş dolu alanlarda sarı olacak. Ama şöyle bir şeyde var ki kullanıcının da kafasına kazınacak o üç alan bir süre sonra önce onları kontrol edip kayıt yapacak.

Yani işin özü iki yolda da birer dezavantaj var ama bana göre kısa yoldaki dezavantaj göz ardı edilebilecek bir durum.

if(
    txt_KullaniciAdi.Text == "" || txt_KullaniciKodu.Text == "" || txt_KullaniciSifre.Text == "" ||
    txt_KullaniciAdi.Text == String.Empty || txt_KullaniciKodu.Text == String.Empty || txt_KullaniciSifre.Text == String.Empty
)
{
     txt_KullaniciAdi.BackColor = Color.Yellow;
     txt_KullaniciKodu.BackColor = Color.Yellow;
     txt_KullaniciSifre.BackColor = Color.Yellow;
     MessageBox.Show("Sarı Rekli Alanları Boş Geçemezsiniz","Boş Alan Hatası");
}
Else
{
    //...
    // Kullanıcı Kayıt İşlemi
    //...
}

Bu örnekte kontrollerin arasında “veya” anlamına gelen ” || ” işareti koyduk. Bunun sebebi bir tanesi bile boş işe if bloğundaki kodlar çalışsın. C# If Else Kullanımı ve İç İçe If Else adlı yazımda if else yi ayrıntılı bir şekilde anlattım.

Bu işlem bu kadar dostlar. Başka nasıl yaparız onlara da bir örnek vereyim.

C sharp kodları

Şimdi her nesnenin “TAG” özelliği var. C# boş geçilemez alanlar için bu özelliği kullanabiliriz. Zorunlu olmasını istediğimiz her nesnenin tag özelliğine ” * ” (yıldız)  koyarız. For  each döngüsü ile formdaki tag özelliğinde ” * ” (yıldız) yazan tüm nesneleri tarayıp boş mu değil mi kontrol ederiz. Birde mesaj göstermek için for döngü içinde int türünde  tanımladığımız bir değişkeni

int BosNesne = 0;

//
BosNesne++;
//

Yukarıdaki gibi her boş nesne için bir bir arttırırız ve boş olanların backcolor ‘unu sarı yaparız. For döngüsü bittiğinde de bir if ile tanımladığımız int değeri 0 dan büyükse mesaj gösteririz. Bu şekilde farklı bir yöntem ile kontrol etmiş oluruz.


C# hakkındaki diğer dersler için tıklayabilirsiniz.

C# Boş Geçilemez Alanlar Nasıl Yapılır? dersimiz bu kadar dostlar. Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti ve ERP Programlama eğitimi sayfasına gitmek için tıklayınız.

Sağlıcakla ve takipte kalın. 😉

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Yorum Yap

Yorumlar (2)

  1. 5 ay önce

    selamunaleykum hocam benim bir tane datagridim var ve datagrid içerisindede checkbox var ceheck boxu işaretleyip butona bastığımda o satırın bilgilerini excele aktarıyor lakin exceli kapatığ başka bir satır işaretlediğimde daha önceki yazılan satırı tekrar yazıyor yardımcı olun lütfen

    kodlarım şu şekilde;
    private void button2_Click(object sender, EventArgs e)
    {
    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
    if ((Convert.ToBoolean(row.Cells[1].Value) == true))
    {
    excel_kitap = excele_gonder.Workbooks.Open(“C:\\Users\\BILAL CUREK\\Desktop\\C# En Son Hali 4 mart 2020-1\\C# En Son Hali 28 şubat 2020-1\\WindowsFormsApplication2\\bin\\Debug\\ders.xls”);
    excel_sayfa = excele_gonder.ActiveWorkbook.ActiveSheet;
    excele_gonder.Visible = true;

    hata_rows = dataGridView1.Rows.Count;

    for (int i = 0; i < hata_rows; i++)
    {
    excel.Range bolge3 = (excel.Range)excel_sayfa.Cells[ 2, 11];
    bolge3.Value2 = dataGridView1.Rows[i].Cells[2].Value.ToString();

    excel.Range bolge4 = (excel.Range)excel_sayfa.Cells[ 3, 4];
    bolge4.Value2 = dataGridView1.Rows[i].Cells[3].Value.ToString();

    excel.Range bolge5 = (excel.Range)excel_sayfa.Cells[ 3, 10];
    bolge5.Value2 = dataGridView1.Rows[i].Cells[4].Value.ToString();

    excel.Range bolge6 = (excel.Range)excel_sayfa.Cells[ 5, 4];
    bolge6.Value2 = dataGridView1.Rows[i].Cells[5].Value.ToString();

    excel.Range bolge7 = (excel.Range)excel_sayfa.Cells[ 5, 10];
    bolge7.Value2 = dataGridView1.Rows[i].Cells[6].Value.ToString();

    excel.Range bolge8 = (excel.Range)excel_sayfa.Cells[ 7, 4];
    bolge8.Value2 = dataGridView1.Rows[i].Cells[7].Value.ToString();

    excel.Range bolge9 = (excel.Range)excel_sayfa.Cells[ 7, 10];
    bolge9.Value2 = dataGridView1.Rows[i].Cells[8].Value.ToString();

    excel.Range bolge10 = (excel.Range)excel_sayfa.Cells[ 9, 4];
    bolge10.Value2 = dataGridView1.Rows[i].Cells[9].Value.ToString();

    excel.Range bolge11 = (excel.Range)excel_sayfa.Cells[ 11, 4];
    bolge11.Value2 = dataGridView1.Rows[i].Cells[10].Value.ToString();

    excel.Range bolge12 = (excel.Range)excel_sayfa.Cells[ 13, 4];
    bolge12.Value2 = dataGridView1.Rows[i].Cells[12].Value.ToString();

    excel.Range bolge13 = (excel.Range)excel_sayfa.Cells[ 15, 4];
    bolge13.Value2 = dataGridView1.Rows[i].Cells[13].Value.ToString();

    excel.Range bolge14 = (excel.Range)excel_sayfa.Cells[ 17, 4];
    bolge14.Value2 = dataGridView1.Rows[i].Cells[14].Value.ToString();

    }
    }
    /* else
    {
    MessageBox.Show("Lütfen Seçim Yapınız!!!");
    }*/

    }

    }

    • Kodunuzda anlam veremediğim kısım neden foreach içinde for kullanıyorsunuz. İkiside zaten bir döngüdür. ÜStelik iki döngü de aynı datagridview’in satırları için dönüyor. Bence sorun buradan kaynaklanıyor. Sadece for döngüsünü kullanarak tekrar dener misiniz?

      excel_kitap = excele_gonder.Workbooks.Open(“C:\\Users\\BILAL CUREK\\Desktop\\C# En Son Hali 4 mart 2020-1\\C# En Son Hali 28 şubat 2020-1\\WindowsFormsApplication2\\bin\\Debug\\ders.xls”);
      excel_sayfa = excele_gonder.ActiveWorkbook.ActiveSheet;
      excele_gonder.Visible = true;
      hata_rows = dataGridView1.Rows.Count;

      Geç cevap verdiğim için üzgünüm. İş yoğunluğumdan site ile ilgilenemiyorum.

      şu satırlarında döngü dışında olması gerekiyor..