Merhaba Webkolog okurları! Bugün C# .Net Framework 4 ve Visual Studio 2010 kullanarak uygulamalarımızda en sık kullandığımız kontrolleri inceleyeceğiz. Bu kontroller, kullanıcı arayüzlerimizi oluştururken temel yapı taşlarıdır ve uygulamalarımızın işlevselliğini ve kullanıcı deneyimini doğrudan etkiler. Gelin, bu kontrolleri yakından tanıyalım ve nasıl kullanıldıklarına dair örneklere göz atalım.
1. Button (Düğme)
Kontrolü
Button kontrolü, kullanıcıların tıklayarak bir eylemi
tetiklediği temel bir etkileşim aracıdır.
// Bir Button kontrolü oluşturma ve forma ekleme
Button btn = new Button();
btn.Text = "Button 1"; // Düğme üzerinde görüntülenecek metin
btn.Width = 200; // Düğme genişliği
btn.Height = 50; // Düğme yüksekliği
btn.Top = 0; // Düğme'nin form üzerindeki dikey konumu
btn.Left = 0; // Düğme'nin form üzerindeki yatay konumu
this.Controls.Add(btn); // Düğmeyi forma ekleme
// Kodla event ekleme (olay bağlama)
void button1_Click(object sender, EventArgs e)
{
comboBox1.KeyDown += new KeyEventHandler(comboBox1_KeyDown);
}
void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
throw new NotImplementedException(); // Henüz implemente edilmemiş bir işlevi temsil eder.
}
// Event çıkarma (olay bağlantısını kaldırma)
button1.Click -= new EventHandler(button2_Click);
2. Label (Etiket)
Kontrolü
Label kontrolü, form üzerinde statik metinler
görüntülemek için kullanılır. Kullanıcının değiştiremeyeceği bilgilendirme
metinleri için idealdir.
// Label kontrolü özellikleri
label1.TextAlign = ContentAlignment.MiddleCenter; // Metni ortala
label1.Margin = new Padding(0); // Kenar boşluklarını sıfırla
label1.AutoSize = false; // Boyutun içeriğe göre otomatik ayarlanmasını devre dışı bırak
label1.Width = 50; // Genişlik
label1.Height = 50; // Yükseklik
label1.BackColor = Color.Silver; // Arka plan rengi
label1.BorderStyle = BorderStyle.FixedSingle; // Kenarlık stili
3. ListBox Kontrolü
ListBox kontrolü, kullanıcıya bir liste halinde
seçenekler sunar. Kullanıcı, listeden bir veya birden fazla öğe seçebilir.
// ListBox kontrolü kullanımı
ListBox1.Items.Add("Yazı"); // Listeye bir metin ekle
ListBox1.Items[0] = "Yeni Yazı"; // Belirli bir index'teki öğeyi değiştir
ListBox1.SelectedIndex = -1; // Hiçbir öğeyi seçili yapma
ListBox1.Items.RemoveAt(0); // Belirli bir index'teki öğeyi sil
// Özel nesnelerle ListBox kullanımı
class Mesaj
{
public string Baslik = null;
public string Icerik = null;
public Mesaj(string Baslik, string Icerik)
{
this.Baslik = Baslik;
this.Icerik = Icerik;
}
public override string ToString() // ListBox'ta görüntülenecek metni belirler
{
return this.Baslik;
}
}
ListBox1.Items.Add(new Mesaj("Başlık", "İçerik")); // Listeye bir Mesaj nesnesi ekle
Mesaj msj = (Mesaj)ListBox1.Items[ListBox1.SelectedIndex]; // Seçili öğeyi Mesaj nesnesi olarak al
ListBox1.Items[ListBox1.SelectedIndex] = msj; // Seçili öğeyi güncelle
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex); // Seçili öğeyi sil
4. TextBox Kontrolü
TextBox kontrolü, kullanıcıdan metin girişi almak için
kullanılır. Tek satırlık veya çok satırlık metinler için uygundur.
// TextBox kontrolü oluşturma ve özelliklerini ayarlama
new TextBox()
{
Dock = DockStyle.Fill, // Formun tamamını kapla
Multiline = true, // Çok satırlı metin girişi
ScrollBars = ScrollBars.Both // Yatay ve dikey kaydırma çubukları
};
5. Placeholder (Yer
Tutucu Metin) Kullanımı
TextBox veya diğer metin girişi kontrollerinde,
kullanıcıya ne tür bir veri girmesi gerektiği hakkında ipucu vermek için
placeholder metinler kullanabiliriz.
// Placeholder metin işlevselliği
private void RemoveText(object sender, EventArgs e)
{
Control control = (Control)sender;
if (control.Text == control.Tag.ToString()) // Eğer metin placeholder ise
{
control.ForeColor = Color.Black; // Metin rengini siyaha çevir
control.Text = ""; // Metni temizle
}
}
private void AddText(object sender, EventArgs e)
{
Control control = (Control)sender;
if (control.Text == "") // Eğer metin boşsa
{
control.ForeColor = Color.Gray; // Metin rengini gri yap
control.Text = control.Tag.ToString(); // Metni placeholder ile doldur
}
}
private void DefaultText(object sender, string text)
{
Control control = (Control)sender;
control.ForeColor = Color.Gray; // Metin rengini gri yap
control.Text = text; // Metni placeholder ile doldur
control.Tag = control.Text; // Tag özelliğine placeholder metnini kaydet
control.Enter += new EventHandler(RemoveText); // Enter olayına RemoveText olayını bağla
control.Leave += new EventHandler(AddText); // Leave olayına AddText olayını bağla
}
// Placeholder kullanımı
// DefaultText(textBoxAdi, "Placeholder Metni"); şeklinde kullanılabilir.
DefaultText(comboLocation, "Location");
DefaultText(tbEventName, "Event Name");
6. Sadece Sayı Girişine
İzin Verme
TextBox kontrolünde sadece sayı girişine izin vermek
için KeyPress olayını kullanabiliriz.
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
string sayiDizisi = "0123456789";
if (sayiDizisi.Contains(e.KeyChar)) // Eğer girilen karakter bir sayı ise
{
// İşlem yapma (sayı girişine izin ver)
}
else
{
e.Handled = true; // Karakterin işlenmesini engelle (sayı değilse giriş yapamaz)
}
}
7. ComboBox Kontrolü
ComboBox kontrolü, kullanıcıya bir açılır liste sunar.
Kullanıcı, listeden bir seçenek seçebilir. ComboBox'ı hem metin hem de değer
olarak iki boyutlu kullanmak için özel bir sınıf kullanabiliriz.
// ComboBoxItem sınıfı (metin ve değer tutmak için)
public class ComboBoxItem
{
public string Text { get; set; } // Görüntülenecek metin
public object Value { get; set; } // İlişkili değer
public override string ToString() // ComboBox'ta görüntülenecek metni döndürür
{
return Text;
}
}
// ComboBox'a veri ekleme
comboReminder.DropDownStyle = ComboBoxStyle.DropDownList; // Kullanıcı sadece listeden seçim yapabilir
comboReminder.Items.Add(new ComboBoxItem() { Text = "None", Value = -1 });
comboReminder.Items.Add(new ComboBoxItem() { Text = "0 min", Value = 0 });
comboReminder.Items.Add(new ComboBoxItem() { Text = "5 mins", Value = 5 });
comboReminder.Items.Add(new ComboBoxItem() { Text = "10 mins", Value = 10 });
comboReminder.Items.Add(new ComboBoxItem() { Text = "15 mins", Value = 15 });
comboReminder.SelectedIndex = 0; // İlk öğeyi seçili yap
// Seçili öğenin değerini alma
object selectedValue = (comboReminder.SelectedItem as ComboBoxItem).Value;
8. DateTimePicker
Kontrolü
DateTimePicker kontrolü, kullanıcıya bir tarih veya
saat seçme arayüzü sunar.
// DateTimePicker kontrolü format ayarlama
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "yyyy-MM-dd HH:mm:ss"; // Özel format belirtme
dateTimePicker1.ShowUpDown = true; // Tarih ve saati yukarı/aşağı oklarla seçme
9. Kontrollerle İlgili Ek
Bilgiler
- Bir kontrolün Click olayını tetiklemek için:
Button.PerformClick();
- Kontrol oluşturup forma eklemek yukarıdaki Button
örneğinde verilmiştir.
- Event ekleme ve çıkarma örnekleri de Button
örneğinde verilmiştir.
Sevgili Webkolog okurları, C# .Net Framework 4 ve Visual Studio 2010 kullanarak en sık karşılaştığımız ve kullandığımız kontrolleri ve özelliklerini bu şekilde özetlemiş olduk. Bu kontrolleri ve örnek kullanımlarını anlamak, daha etkili ve kullanıcı dostu arayüzler geliştirmenize yardımcı olacaktır.
Webkolog'u takipte kalın!
Hepinize bol kontrollü ve başarılı projeler dilerim!
0 yorum:
Yorum Gönder