C# ToolTip Kullanımı – Nesneler İçin Açıklama, dersim ile C# Eğitim setime devam ediyorum. Bu dersimde, form üzerindeki nesnelerin üzerine gelindiğinde kısa bir bekleme sonrasında bir baloncuk içerisinde açıklama gösterme işlemini göreceğiz. (113. Ders.)
C# ToolTip Kullanımı – Nesneler İçin Açıklama
Bazen bir butonun yada textbox’un ne işe yaradığını yada bir texbox’a girilmesi gereken verinin biçimi hakkında bilgi vermek için tooltip özelliğini kullanırız. Tooltip özelliğini her nesne için kullanabiliriz.
Şimdi basit bir tooltip oluşturalım ve bir nesneye atayalım. Oluşturduğum forma rastgele birkaç nesne ekledim. listbox, combobox, label, textbox, datetimepicker, checkbox gibi nesneler…
Şimdi ToolTip adında bir nesne oluşturacağız. Bunu da hem normal hemde dinamik olarak nesnelere atamasını yapacağız. Öncelikle tooltip nesnemizin kodlarına bakalım.
ToolTip Controls_Tooltip(string baslik, string aciklama, Control cntrl) { ToolTip toolTip = new ToolTip(); toolTip.Active = true; // Görünsün mü? toolTip.ToolTipTitle = baslik; // Çıkacak Mesajın Başlığı toolTip.ToolTipIcon = ToolTipIcon.Info; // Çıkacak Mesajda yer alacak ıkon toolTip.UseFading = true; // Silinerek kaybolma ve yavaşça görünme toolTip.UseAnimation = true; // Animasyonlu açılış toolTip.IsBalloon = true; // Baloncuk şekli mi dikdörtgen mi? toolTip.ShowAlways = true; // her zaman göster toolTip.AutoPopDelay = 3000; // Mesajın açık kalma süresi toolTip.ReshowDelay = 3000; // Mause çekildikten kaç ms sonra kaybolsun toolTip.InitialDelay = 1000; // Mesajın açılma süresi toolTip.BackColor = Color.Red; // arka plan rengi toolTip.ForeColor = Color.White; // yazı rengi toolTip.SetToolTip(cntrl, aciklama); // Hangi kontrolde görünsün return toolTip; }
Active = Tooltip mesajı görünsün mü?
ToolTipTitle = Çıkacak Tooltip mesajının başlığı
ToolTipIcon = ToolTipIcon.Info; // Çıkacak Tooltip mesajında yer alacak ikon
UseFading = Tooltip mesajın silinerek kaybolması ve yavaşça görünmesi
UseAnimation = Tooltip mesajının animasyonlu açılışı
IsBalloon = Tooltip mesajı baloncuk şekli mi dikdörtgen mi?
ShowAlways = Tooltip mesajını her zaman göster
AutoPopDelay = 3000; Tooltip mesajının açık kalma süresi (MS)
ReshowDelay = 3000; Tooltip mesajından mouse çekildikten kaç ms sonra kaybolsun
InitialDelay = 1000; Tooltip mesajının açılma süresi
SetToolTip (cntrl, aciklama); Tooltip mesajı hangi kontrolde görünsün ve açıklaması ne olsun
ToolTip nesnemiz 3 parametre alıyor. İlk olarak Tooltip mesajının başlığı, Tooltip mesajın açıklaması ve Tooltip mesajının hangi kontrolde görüneceğini belirleyen parametrelerdir.
Kullanım şekli aşağıdaki gibidir.
private void Form1_Load(object sender, EventArgs e) { Controls_Tooltip("Bu ComboBox'tur", "ComboBox için tooltip tir", comboBox1); }
Nasıl göründüğüne bir bakalım.
Gördüğünüz gibi combox’un üzerne geldiğimizde tooltip mesajı çıkıyor. Yukarıda kullanım şeklini gördüğünüz gibi özel olarak tek tek verebilirsiniz. Tüm nesnelerde aynı tooltip mesajı çıksın isterseniz ya da aynı tür nesnelerde ortak tooltip mesajları çıksın isterseniz dinamik olarak nesnelere tooltip mesajları ekleyebiliriz.
Şimdi Formumuzdaki tüm nesnelere yukarıdaki görseldeki gibi bir şekilde tooltip çıkmasını sağlayalım.
private void Form1_Load(object sender, EventArgs e) { //Controls_Tooltip("Bu ComboBox'tur", "ComboBox için tooltip tir", comboBox1); foreach (Control item in this.Controls) { Controls_Tooltip("Bu " + item.ToString() + " nesnesidir.", "Bu nesnenin adı ise " + item.Name, item); } }
Bu örnekte listbox nesnesine tooltip mesajı eklenmedi. Sanırım listbox tooltip mesajlarını desteklemiyor. Şimdi yazdığımız işlemin sonuçlarını görelim.
Yazdığımız döngünün sonucunda aldığımız çıktılar yukarıdaki görsellerde olduğu gibidir. Şimdi sadece TextBox lar için bu tooltip mesajları çıksın istersek ise bir if kontrolü ekliyoruz.
private void Form1_Load(object sender, EventArgs e) { //Controls_Tooltip("Bu ComboBox'tur", "ComboBox için tooltip tir", comboBox1); foreach (Control item in this.Controls) { if (item.ToString() == "System.Windows.Forms.TextBox") { Controls_Tooltip("Bu " + item.ToString() + " nesnesidir.", "Bu nesnenin adı ise " + item.Name, item); } } }
BİLGİ: Bir nesneyi ToString() ile convert ederseniz o nesnenin tipini alırsınız. Yukarıdaki görsellerde bunu net bir şekilde görebiliyorsunuz.
C# ToolTip Kullanımı – Nesneler İçin Açıklama, dersimizde bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere…
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…Bu derste Github projemde yerini almıştır.
Sağlıcakla ve takipte kalın. ;)