PROGRAMLAMA DİLLERİNE GİRİŞ Ders 10: Genel Kontroller (2) Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği
Tarih Zaman Seçici (DateTimePicker) Tarih ve zamanı görüntülemek ve seçmek için kullanılır. Seçme işlemi ValueChanged olayıdır. Alabileceği minimum ve maksimum tarih değerleri MinDate ve MaxDate özellikleri ile belirlenebilir. Seçilen tarih ve saat değeri Date veri tipindeki Value özelliği ile elde edilir. İstenirse tarih yada saatin belirli bir değerini elde etmek için Value.[Day, Month, Year, Hour, Minute, Second, …] kullanılabilir. Format özelliği ile görüntüleme biçimi değiştirilebilir: Long: Short: Time: Custom: dd/MM/yy
Aylık Takvim (MonthCalendar) DateTimePicker’da tıklanınca açılan aylık takvimin sürekli açık olarak göründüğü kontroldür. BoldedDates özelliği (ve AddBoldedDate yöntemi) ile kalın yazı tipi ile görünmesi gereken tarihler belirlenebilir. AnnuallyBoldedDates özelliği (ve AddAnnuallyBoldedDate) ise her sene tekrar eden doğumgünü gibi durumlarda tüm seneler için aynı günün koyu görünmesini sağlar. CalendarDimensions özelliği ile yatayda ve düşeyde kaçar tane ayın bilgisini görüntüleneceği seçilir. SelectionRange özelliği ile seçili olarak görüntülenecek tarih aralığı belirlenir. MaxSelectionCount özelliği ile aynı anda seçilebilecek maksimum gün sayısı belirlenir.
Araç İpucu (ToolTip) Farenin imleci bir kontrolün üzerine geldiğinde o kontrolle ilgili bir açıklama görüntülenmesini sağlar. Açıklamanın görüntülenmesi için Show yöntemi kullanılır. Örneğin textBoxVizeNotu metin kutusunun MouseMove olayının yordamına aşağıdaki kod yazılabilir: toolTip1.Show("Bu alana sadece nümerik değer giriniz", textBoxVizeNotu); Active özelliği True/False yapılarak görüntülenmenin yapılıp yapılmaması ayarlanır. InitialDelay özelliği ile görüntülemenin süresi ayarlanır.
Bildirim Simgesi (NotifyIcon) Windows’un ‘Bildirim Alanı’nda uygulamanın bir simgesi yer alması isteniyorsa kullanılır. Icon özelliği ile görüntülenecek simge belirlenir. BalloonTipText ile simge üzerine gelindiğinde hangi mesajın görüntüleneceği belirlenir. ShowBalloonTip yöntemi ile balon simgesinin üzerine mouse ile gelinmese bile belirli bir milisaniye boyunca görüntülenmesi sağlanır. ContextMenu özelliği ile üzerine tıklandığında görüntülenecek olan menü seçilir (haftaya anlatılacak). NOT: NotifyIcon ve ToolTip kontrolleri Form üzerinde doğrudan görüntülenmezler.
Sayı Arttır Azalt (NumericUpDown) Kullanıcının belirli bir aralıktaki sayıları arttırıp azaltma işini daha hızlı yapabilmesini sağlamak için kullanılan bir kontroldür. Sayı aralığı Minimum ve Maximum özellikleri ile belirlenir. Artım miktarı Increment özelliği ile belirlenir.
İlerleme Çubuğu (ProgressBar) Eğer program uzun sürecek bir işlem yapıyorsa, o işlemin yüzde kaçının tamamlandığını kullanıcıya göstermek amacıyla kullanılır. Bu kontrolde de aralık belirlemek için Minimum ve Maximum özellikleri kullanılır (Varsayılan değerler 0 ve 100). İşlemin yüzde kaçının tamamlandığı Value özelliğine atanır: progressBar1.Value = 20;
Zengin Metin Kutusu (RichTextBox) RTF (Rich Text Format) biçimindeki belgeleri görüntüleyebilen ve düzenleyebilen bir kontroldür. Not Defteri (Notepad) ile oluşturulabilen salt metin dosyaları TextBox nesnesi ile görüntülenebilir. Fakat, WordPad veya Word uygulamaları ile oluşturulabilen zengin metin türü belgelerin içinde resim, tablo, grafik, vs. gibi farklı nesneler yer alabildiği için ve belgenin değişik kısımlarında değişik türde yazı tipi kullanılabildiği için, bu türden belgeler RichTextBox nesnesi ile görüntülenebilir. LoadFile yöntemi ile belge yüklenebilir ve SaveFile yöntemi ile belge yaratılabilir/kaydedilebilir: richTextBox1.LoadFile("c:/users/pc/desktop/belge.rtf"); richTextBox1.SaveFile("c:/users/pc/desktop/belge.rtf");
Web Gezgini (WebBrowser) Web sayfalarının görüntülenmesini sağlayan kontroldür. Url özelliğinde görüntülenmesi istenilen web sayfasının URL bilgisi saklanır. Fakat System.uri veri tipinde olan bu özelliğe bir TextBox yada ComboBox kontrolünün Text özelliği eşitlenemez. Bu nedenle program kodunda Navigate yöntemini kullanmak daha doğrudur: webBrowser1.Navigate(comboBox1.Text);
Mesaj Kutusu (MessageBox) Kullanıcıya bir mesaj göstermek için kullanılır. Araç kutusu içinde yer almayan statik bir sınıftır. MessageBox.Show() yöntemi kullanıldığında bir mesaj penceresi açılır ve yönteme ilk parametre olarak string tipinde verdiğimiz mesaj görüntülenir. Mesaj penceresinin başlığı, simgesi, üzerinde yer alacak düğmeler, vs. yönteme parametre olarak eklenebilir. MessageBox.Show("Kaydetmeden çıkmak istediğinize emin misiniz?", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
Bazı Ortak Özellikler Enabled: Nesnenin aktif durumda olması için True, pasif durumda olması için ise False değeri atanır. Visible: Nesnenin form üzerinde görünmesi isteniyorsa True, görünmemesi isteniyorsa False değeri atanır. Left, Top, Width, Height: Nesnenin Form üzerindeki konumunu ve büyüklüğünü belirlemek için kullanılırlar. Dock: Nesnenin Formun belirli bir yerine yapışık olarak Form ile birlikte büyümesi ve küçülmesi isteniyorsa kullanılır. Top, Bottom, Left, Right, Fill ve None değerlerini alır. ContextMenuStrip: Bir nesnenin üzerine sağ tıklandığında açılacak olan menünün belirlendiği özelliktir. (Aynı isimde bir sınıf ta vardır, o sınıftan türetilen bir menü nesnesi ile istenilen bir nesnenin bu özelliği ilişkilendirilir)
Bazı Ortak Olaylar Click: Fare ile tek tıklamada çalışır DoubleClick: Fare ile çift tıklamada çalışır MouseDown: Fare ile tıklandığında çalışır. Click’ten farkı hangi tuş ile tıklandığını elde edebiliriz (VB 6.0’da olmayıp VB.NET’te olan MouseClick buna benzer bir olaydır). MouseUp: Farenin tuşu bırakıldığında çalışır. MouseMove: Farenin nesne üzerinde gezinmesi MouseUp/Down/Move olaylarında temel argümanlar (MouseEventArgs: e parametresinden elde edilir): Button: Farenin hangi tuşuna basıldığı saklanır X, Y: Mouse tıklandığında koordinatları saklanır
Bazı Ortak Olaylar KeyDown ve KeyPress: İkisi de klavyede bir yada aynı anda birkaç tuşa basma olayıdır KeyUp: Klavyenin tuşunu bırakma olayıdır KeyDown ve KeyUp olayları KeyCode, Control ve Shift parametrelerini ayrı ayrı kullanır. KeyCode klavyeden basılan tuşun değerini saklarken, diğerleri CTRL ve SHIFT tuşlarının basılı olup olmadığını saklar. KeyPress’te ise basılan tuşun karakter değeri e.KeyChar’da saklanır. KeyDown’dan farkı SHIFT ve CTRL tuşlarını ayrı bir argüman olarak ele almaz. SHIFT ile ‘a’ tuşu basıldıysa KeyChar = ‘A’ yani 65 olur (SHIFT olmadan basılırsa 97). KeyCode ise SHIFT basılı olsun olmasın 65’tir. GotFocus: Nesneye odaklanma olduğunda tetiklenen olaydır LostFocus: Nesneye odaklanma kaybolduğunda tetiklenen olaydır
String sınıfındaki bazı yöntemler substring(startIndex, [length]): String’in startIndex noktasından başlayıp length kadar uzunlukta olan bir bölümünü (length verilmezse sona kadar) döndürür : "Bilgisayar".Substring(5); "Bilgisayar".Substring(1, 4); Trim: Parametresiz kullanıldığında string’in başındaki ve sonundaki boşlukları siler. Parametre olarak bir karakter verildiğinde string’in başında ve sonunda o karakterden kaç tane arka arkaya varsa hepsini siler: txtSayı1.Text.Trim('a'); TrimStart yöntemi sadece string’in başı, TrimEnd ise sadece sonu için aynı işi yapar. sayar ilgi
Diğer Kontroller Araç kutusunda Common Controls haricinde Containers, Data gibi başka sekmeler de vardır. All Windows Forms sekmesinde ise tüm kontroller alfabetik sırada görülebilir. Araç kutusunun üzerine sağ tıklanıp açılan menüden “Choose Items” seçilerek başka kontroller eklemek de mümkündür.