C# örneklerimize ayın günlerini bulma konusu ile devam ediyoruz. Örneğimizde kullanıcının bir combobox içinden seçtiği ay değerine göre o ayın günlerini listbox’a ekleyen kodları yazacağız. Uygulamaya başlamadan önce kodların düzgün bir şekilde çalışabilmesi için namespace kısmına using System.Globalization; eklemesi yapmayı unutmayalım.
ilk olarak aşağıdaki form görüntüsünü oluşturuyoruz.
Daha sonra Form_Load olayına combobox içine ay isimlerini eklemek için aşağıdaki kodları yazıyoruz.
for(int i=0;i<12;i++){ comboBox1.Items.Add(CultureInfo.GetCultureInfo("tr-TR").DateTimeFormat.MonthNames[i]); }
DateTimeFormat.MonthNames[i] metodu ile ay isimleri aldık ve bunları türkçeye çevirmek içn önüne CultureInfo.GetCultureInfo(“tr-TR”) parametresini ekliyoruz. Şimdi sıra geldi seçilen aya göre günleri listbox’a eklemeye bunun için butonun click olayına
listBox1.Items.Clear(); int yil = DateTime.Now.Year; int ay = 0; for (int y = 0; y < 12; y++) { if (comboBox1.Text == CultureInfo.GetCultureInfo("tr-TR").DateTimeFormat.MonthNames[y]) { ay = y; } }//http://www.bilisimogretmeni.com/ DateTime gun = new DateTime(yil, ay+1, 1); int x = DateTime.DaysInMonth(yil,ay+1); int i = 1; while (i <= x) { listBox1.Items.Add(gun.Day + " "+comboBox1.Text+" "+CultureInfo.GetCultureInfo("tr-TR").DateTimeFormat.DayNames[(int)gun.DayOfWeek]); gun = gun.AddDays(1); i++; }
kodlarını yazıyoruz burada ilk olarak listbox’ı temizleyip daha sonra seçilen ayın numarasını alıyoruz ve bu ay numarasına göre DateTime.DaysInMonth fonksiyonu ile aydaki gün sayısını buluyoruz; son olarak da DateTimeFormat.DayNames[(int)gun.DayOfWeek] metodu ile gün isimlerini alıp ekliyoruz. :) kolay gelsin