Bu yazımızda C#‘ ta bulunan trackbar özelliğini kullanacağız arkadaşlar. Kullanmadım diyen olabilir ama en basit ses düzeyini ayarlamak için kullandığınızı söylebiliriz. Trackbar’ın çok geniş kullanım alanı vardır. Genel olarak bir skaladaki bir değeri ayarlamak ve göstermek için işlev gördüğünü bilmek yeterlidir gerisi hayal gücünüz.
Toolbox sekmesinden formunuza trackbar’ ı seçerek ekleyin. Üzerine çift tıkladığınız zaman scroll metodu açılır. Buraya yazdığınız kodlar trackbar’ ı hareket ettirdiğinizde çalışmaktadır. Ben formuna iki adet azaltan ve arttıran buton da koydum ve değeri gösterecek bir textbox ile süsledim. Bu sayede butonlar vasıtasıylada trackbarı değiştirmiş oldum. Ayrıca textbox’ ın keydown özelliğini aktif ederek, textbox’ a değer girerek enter’ a bastığımda da trackbar’ı ayarlamış oldum. Sizde aşağıdaki kod ile deneyebilirsiniz.
// www.kaizen40.com using System; using System.Windows.Forms; namespace YazarRobot { public partial class Form1 : Form { public Form1() { InitializeComponent(); // keydown özelliği eklendi TxtSagKolServoDeger.KeyDown += TxtSagKolServoDeger_KeyDown; } private void TxtSagKolServoDeger_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { try { TrackSagKolServo.Value = Convert.ToUInt16(TxtSagKolServoDeger.Text); } catch { MessageBox.Show("Girilen değer: 0-180 arasında olmalıdır!"); } } } private void TrackSagKolServo_Scroll(object sender, EventArgs e) { TxtSagKolServoDeger.Text = TrackSagKolServo.Value.ToString(); // değeri labele bas } private void BtnSagKolServoAzalt_Click(object sender, EventArgs e) { if (TrackSagKolServo.Value > 0) // trackbar eksi bir değer olamaz { TrackSagKolServo.Value--; // azalt } else { TrackSagKolServo.Value = 0; } TxtSagKolServoDeger.Text = TrackSagKolServo.Value.ToString(); // değeri labele bas } private void BtnSagKolServoArttir_Click(object sender, EventArgs e) { if (TrackSagKolServo.Value < 180) // trackbar max değerden yüksek olamaz { TrackSagKolServo.Value++; // arttır } else { TrackSagKolServo.Value = 180; } TxtSagKolServoDeger.Text = TrackSagKolServo.Value.ToString(); // değeri labele bas } } }
Burada dikkat etmeniz gereken minimum ve maksimum değerler. Bu değerler dışında bir değer verirseniz trackbar hata verecektir. Bunu engellemek için try-catch koşulunu kullanabilirsiniz. İleryen zamanlarda trackbar kullanarak servo moor kontrolünü sağlayacağız.
0 yorum