Kontrol Ayrıntıları 1
Transkript
Kontrol Ayrıntıları 1
7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox BPR251 Görsel Programlama I Bu Derste Öğrenecekleriniz: 1. Button 2. Label 3. LinkLabel 4. TextBox 5. MaskedTextBox 6. MessageBox Visual C#’ ta genel olarak kullanılan kontrollerden bazıları aşağıda gösterilen listedeki gibidir. No 1 2 3 4 5 Adı Button Label LinkLabel TextBox MaskedTextBox Araç Çubuğu Görünümü Açıklama Tıklama butonu Etiket Link etiket Metin kutusu Girişi maskelenebilir metin kutusu Aşağıdaki formda yukarıda bahsi geçen tüm kontroller kullanılmıştır. Bu form, size bu kontrollerin nasıl ve ne amaçla kullanılabileceği hakkında fikir verebilir. Şimdi bunlardan her birisini ayrıntılı olarak tanıyacağız: 1. Button Fareyle tıklatarak veya butona odaklanmış ise enter tuşuna basarak her hangi işlev yapmaya yarayan kontroldür. Aşağıda bazı özellikleri tablolar şeklinde verilmiştir: Özellik Adı Açıklama FlatStyle Buton görünümünü ayarlamak için kullanılır. Alabileceği Değerler: Flat * Popup Standard System** * FlatStyle özelliği Flat olarak ayarlanan bir butonun kenar çizgi rengi, kenar çizgi kalınlığı, Mouse üzerine giderken veya tıklanınca alacağı renkleri FlatAppearance özelliği ile ayarlanabilir. ** Standard ile System arasında görünüşte bir farklılık yok gibi görünüyor. Ancak görünüm özelliği System olarak ayarlandığı zaman üzerindeki resimleri göstermiyecektir. 1 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox BPR251 Görsel Programlama I FlatStyle ve FlatAppearance özellikleri yandaki şekilde görüldüğü gibi özellikler penceresinden ayarlanabilir. FlatStyle ve FlatAppearance özellikleri kod ile ayarlanacağı zaman aşağıdaki şekilde yapılmalıdır: // Görünüm Flat yapılıyor button1.FlatStyle = FlatStyle.Flat; // Kenar çizgi rengi kırmızı yapılıyor button1.FlatAppearance.BorderColor = System.Drawing.Color.Red; // Kenar çizgi kalınlığı mavi yapılıyor button1.FlatAppearance.BorderSize = 2; // Mouse tıklanırkenki rengi sarı yapılıyor button1.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Yellow; // Mouse üzerine giderken ki rengi mavi yapılıyor. button1.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Blue; // button2 nin görünümü Popup yapılıyor button2.FlatStyle = FlatStyle.Popup; // button3 ün görünümü Standard yapılıyor button3.FlatStyle = FlatStyle.Standard; // button4 ün görünümü System yapılıyor button4.FlatStyle = FlatStyle.System; Butonun üzerindeki yazı Text özelliği ile kontrol edilir, yazının hizalanması TextAlign özelliği ile kontrol edilir. Bu özellikler genel kontrol özelliklerinde ayrıntılı olarak işlenmişti. Butonun üzerine bir resim ekleneceği zaman Image özelliği kullanılır. Butonun üzerindeki resmin hizalanması ise ImageAlign özelliği ile kontrol edilir. Bu özellikler; özellikler penceresinden kolayca ayarlanabileceği gibi kod ile de ayarlanabilirler. Kod yazarak ayarlanmak istenirse aşağıdaki şekilde yapılabilir. // button1 in üzerindeki yazı "Tamam" olarak ayarlanıyor button1.Text = "Tamam"; // button1 in yazı hizalanması Orta-Merkez olarak ayarlanıyor. button1.TextAlign = ContentAlignment.MiddleCenter; // button1 in üzerindeki resim dosyadan alınarak oluşturuluyor button1.Image = Image.FromFile(@"C:\resimlerim\ok.bmp"); // button1 in üzerindeki resmin hizalanması Orta-Sol olarak ayarlanıyor button1.ImageAlign = ContentAlignment.MiddleLeft; 2 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox BPR251 Görsel Programlama I Not: ImageAlign ile TextAlign özelliklerinin bir button için alabileceği değerler aynı ve aşağıdaki gibi olabilirler. ContentAlignment.BottomCenter ContentAlignment.BottomLeft ContentAlignment.BottomRight ContentAlignment.MiddleCenter ContentAlignment.MiddleLeft ContentAlignment.MiddleRight ContentAlignment.TopCenter ContentAlignment.TopLeft ContentAlignment.TopRight // // // // // // // // // Yazı Yazı Yazı Yazı Yazı Yazı Yazı Yazı Yazı veya veya veya veya veya veya veya veya veya resmi resmi resmi resmi resmi resmi resmi resmi resmi altta ortaya alır altta sola hizalar altta sağa hizalar ortada merkeze hizalar ortada sola hizalar ortada sağa hizalar üstte ortaya hizalar üstte sola hizalar üstte sağa hizalar Butonun üzerindeki yazı ile resim arasındaki ilişki TextImageRelation özelliği ile kontrol edilir. Özellik Adı Açıklama TextImageRelation Buton üzerindeki Resim ile Yazı arasındaki ilişkiyi ayarlar. Alabileceği Değerler: ImageAboveText ImageBeforeText Overlay TextAboveImage TextBeforeImage Bir butonun pasif veya aktif olmasını Enabled özelliği sağlar. (Bu özellik tüm kontrollerde geçerlidir.) Özellik Adı Açıklama Enabled Buton aktif veya pasif olmasını sağlar Alabileceği Değerler: button1.Enabled = true; button1.Enabled = false; Bir butonun çalışma anında görünüp görünmemesini ayarlamak istiyorsak Visible özelliği kullanılır. Butona tıklandığında bir işler yapılsın isteniyorsa genelde Click olayı kullanılır. Click olayı events (olaylar) penceresinden veya butonun üzerine çift tıklayarak oluşturabildiğimiz gibi kod yazarak ta aşağıdaki gibi yapabiliriz. button1.Click += new EventHandler(button1_Click); private void button1_Click(object sender, EventArgs e) { // kod buraya yazılır. } Tıklanan buton sender parametresi içinde fonksiyonun içine geliyor. sender parametresi tip dönüşümü ile butona dönüştürülüp fonksiyon içinde kullanılabilir. Bu durum özellikle birden fazla butona aynı olay eklendiği zaman işe yarar. (Hesap Makinesi örneğini düşünün: tüm rakamlar veya işlemler için aynı olaylar eklenmiştir. ) 3 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox BPR251 Görsel Programlama I void button1_Click(object sender, EventArgs e) { // tıklanan butonu sender parametresinden tip dönüştürerek alıyoruz. Button btn = (Button)sender; // artık btn ile tıklanan butonun özelliklerine ulaşabiliriz. } Not: tüm kontrollerin Name özelliği değiştirilerek programda anlaşılır isimler kullanır. Butonlar için genellikle isimler btn ile başlar. Fakat zorunlu değildir. Örnek: btnTamam, btnIptal 2. Label Label kontrolleri, genellikle denetimler için açıklayıcı bir metin sağlamak için kullanılır. Odaklama sırası almazlar. Labellerin kenarlıkları BorderStyle özelliği ile değiştirilebilir. Özellik Adı Açıklama BorderStyle Label için kenarlıkları ayarlar Alabileceği Değerler: None FixedSingle Fixed3D Label in üzerindeki yazı Text özelliği ile kontrol edilir, yazının hizalanması TextAlign özelliği ile kontrol edilir. Bu özellikler genel kontrol özelliklerinde ayrıntılı olarak işlenmişti. Label üzerine bir resim ekleneceği zaman Image özelliği kullanılır. Label kontrolünün üzerindeki resmin hizalanması ise ImageAlign özelliği ile kontrol edilir. Bu özellikler; özellikler penceresinden kolayca ayarlanabileceği gibi kod ile de ayarlanabilirler. Kod yazarak ayarlanmak istenirse aşağıdaki şekilde yapılabilir. Label kontrolleri için yazı resim ilişkisini ayarlayacak bir özellik bulunmamaktadır. // label1 in üzerindeki yazı "Adı" olarak ayarlanıyor label1.Text = "Adı"; // label1 in yazı hizalanması Orta-Merkez olarak ayarlanıyor. label1.TextAlign = ContentAlignment.MiddleCenter; // label1 in üzerindeki resim dosyadan alınarak oluşturuluyor label1.Image = Image.FromFile(@"C:\resimlerim\resim.bmp"); // label1 in kenarlıkları çizgiler görünecek şekilde ayarlanıyor label1.BorderStyle = BorderStyle.FixedSingle; Label kotrolünde label nesnesini otomatik olarak içindeki yazıya göre boyutlandırmak için AutoSize özelliği kullanılır. Varsayılan değeri true olarak ayarlanmıştır. İstenirse false olarak ayarlanıp label kontrolünün büyüklüğü ayarlanabilir. Not: Label kontrolünde yazı hizalamalarının geçerli olabilmesi için AutoSize özelliğinin false olması gerekmektedir. 4 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox BPR251 Görsel Programlama I 3. LinkLabel LinkLabel label gibidir. Fakat köprü eklemek için özel tasarlanmıştır. Name özelliği değiştirilerek anlaşılır isimler kullanılabilir. Linklabeller isimlendirilirken genellikle isimleri lnk ile başlatılır. Fakat zorunlu değildir. Örnek: lnkAnlasmaMetni Özellik Adı Text TextAlign Image ImageAlign BorderStyle LinkColor VisitedLinkColor ActiveLinkColor LinkVisited LinkBehavior Açıklama LinkLabel deki yazı özelliğini kontrol eder. LinkLabel deki yazı hizalamasını ayarlar. LinkLabel e resim eklemeye yarar. LinkLabel e eklenmiş resmin hizalamasını kontrol eder. Kenarlık şeklini kontrol eder. Labeldeki ile aynıdır. Link rengini kontrol eder. Tıklandıktan sonraki link rengini kontrol eder. Tıklanırken ki link rengini kontrol eder. Linke tıklanıp tıklanmadığını kontrol eder. LinkLabel kontrolünün davranışını belirler. Veri Tipi string ContentAlignment Image ContentAlignment BorderStyle Color Color Color bool LinkBehavior LinkBehavior özelliğinin alabileceği değerler aşağıdakiler gibidir: AlwaysUnderline HoverUnderline NeverUnderline Sürekli linkin altını Linkin üzerine Mouse ile Linkin altını çizer. gelince altını çizer çizmez SystemDefault asla Sistemdeki linklerin varsayılan durumuna ayarlar. LinkLabel tıklanınca LinkClicked olayı devreye girer. İstersek link tıklanınca bir şeyler yaptırabilir istersek internet Explorer ile bir URL linkine geçebiliriz. private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { linkLabel1.LinkVisited = true; System.Diagnostics.Process.Start("http://www.microsoft.com"); } 4. TextBox Metin kutusu, aşağıda en sık kullanılan özellikleri tablolar halinde verilmiştir. Programda isimleri değiştirilerek anlaşılır isimler kullanılır. TextBox kontrolleri isimlendirilirken genellikle isimleri txt ile başlar. Fakat zorunlu değildir. Örnek : txtAdı, txtSoyadı, txtMemleket Özellik Adı BorderStyle Text TextAlign Açıklama TextBox için kenarlıkları ayarlar. TextBox kontrolündeki yazıyı kontrol eder TextBox kontrolündeki yazı hizalamasını ayarlar. Multiline true yapılırsa yüksekliği ayarlanabilir ve birden fazla bool satır yazı yazılabilir. eğer Multiline özelliği false olursa tek satırda yazılar yazılabilir ve enter karakterleri gözükmeyecektir. ScrollBars Kaydırma çubuklarının görünürlülüğü ayarlanır. ScrollBars 5 Veri Tipi BorderStyle string HorizontalAlignment Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox WordWrap bool Kelime kaydır özelliği kontrol edilir. Eğer metin bir satırda TextBox kontrolüne sığmıyorsa yazı alt satırdan devam eder. Font Yazının Font özelliğini kontrol edilir. ReadOnly true olursa yazının sadece okunur olarak ayarlanması sağlar, eğer false olursa yazı düzenlenebilir. AcceptsTab true olursa sekme bir karakter olarak girilebilir. Yoksa sekme tuşuna basılırsa odaklanma sırasını değiştirir. CharacterCasing Girilen yazının otomatik olarak büyük veya küçük harf olması sağlayan bir özelliktir. PasswordChar Girilen yazının şifre gibi girilmesini sağlıyor. Yazıdaki tüm harfleri ayarlanmış karakter olarak gösterir. MaxLength Girilebilecek maksimum yazı uzunluğunu (karakter sayısını) ayarlar. ForeColor Yazı rengini ayarlar. ShortcutsEnabled Kısa yol tuşlarının aktif olup olmamasını ayarlar. false yapılırsa CTRL+X, CTRL+C, CTRL+V gibi kısa yol tuşları çalışmayacaktır. Aynı şekilde sağ tıklamada açılan menü de açılmayacaktır. Özellik Adı BorderStyle Alabileceği Değerler: WordWrap bool CharacterCasing char int Color bool FixedSingle Fixed3D Açıklama TextBox içindeki yazının hizalanmasını sağlar. Left Özellik Adı Font bool Açıklama TextBox için kenarlıkları ayarlar None Özellik Adı TextAlign Alabileceği Değerler: BPR251 Görsel Programlama I Center Right Açıklama Metin kutusundaki yazının her bir satırı metin kutusunun genişliğine sığmazsa kelime kaydır seçeneğinin aktif olup olmadığını kontrol eder. Alabileceği Değerler: textBox1.WordWrap = true; Özellik Adı ReadOnly Alabileceği Değerler: textBox1.WordWrap = false; Açıklama Metin kutusundaki yazının düzenlenebilir olup olmadığını ayarlar. textBox1.ReadOnly = true; 6 textBox1.ReadOnly = false; Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox Özellik Adı ScrollBars Alabileceği Değerler: BPR251 Görsel Programlama I Açıklama Kaydırma çubuklarının görünürlüğünü ayarlanır. None Both* Horizontal* Vertical * Yatay kaydırma çubuğunun görünebilmesi için WordWrap (kelime kaydır) özelliğinin false olması gerekmektedir. Özellik Adı Açıklama Girilen yazının şifre gibi girilmesini sağlıyor. Yazıdaki tüm harfleri ayarlanmış PasswordChar karakter olarak gösterir. Alabileceği Değerler: (herhangi bir karakter olabilir.) textBox1.PasswordChar = (char)0; textBox1.PasswordChar = '*'; textBox1.PasswordChar = '?'; textBox1.PasswordChar = 'x'; Özellik Adı AutoCompleteSource AutoCompleteMode AutoCompleteCustomSource Açıklama Otomatik doldurma seçeneklerini ayarlamaya yarar. Otomatik doldurma modunu ayarlar. Otomatik doldurma seçeneklerini özel olarak ayarlamaya yarar. Veri Tipi AutoCompleteSource AutoCompleteMode AutoCompleteStringCollection Özellik Adı AutoCompleteSource Açıklama Otomatik doldurma seçeneklerini ayarlamaya yarar. Otomatik doldurma listesini nereden alacağımıza karar vermemize yarar. Alabileceği Değerler: (herhangi bir karakter olabilir.) AutoCompleteSource.None Her hangi bir şeye ayarlama AutoCompleteSource.AllSystemSources Sistemin tüm kaynakları AutoCompleteSource.AllUrl Tüm url adresleri AutoCompleteSource.CustomSource* Özel liste AutoCompleteSource.FileSystem Sistem dosyaları AutoCompleteSource.FileSystemDirectories Sistem klasörleri AutoCompleteSource.HistoryList Geçmiş Listesi AutoCompleteSource.ListItems** Liste elemanları AutoCompleteSource.RecentlyUsedList Son kullanılan dosyalar 7 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox BPR251 Görsel Programlama I * CustomSource kullanıldığı zaman AutoCompleteCustomSource özelliğine eklenmiş listedeki elemanlar kullanılır. ** ListItems genellikle ComboBox nesnesi ile kullanılır. Özellik Adı Açıklama AutoCompleteMode Otomatik doldurma seçeneklerini ayarlarken, nasıl doldurma yapacağımızı önerir. Alabileceği Değerler: (herhangi bir karakter olabilir.) AutoCompleteMode.None; Bir şey önermez AutoCompleteMode.Append Direkt olarak uyan elemanı yazar AutoCompleteMode.Suggest Uyan elemanları önerir AutoCompleteMode.SuggestAppend Uyan elemanı yazar ve uyan diğerlerini de önerir. // otomatik doldurma seçenekleri özel listeye ayarlanıyor. textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; // özel listeden öner ve varsa uyan otomatik doldur textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; // otomatik doldurma listesine bir çok eleman beraber ekleniyor textBox1.AutoCompleteCustomSource.AddRange(new string[] { "Ankara", "Adana", "İstanbul", "Bartın", "Karabük", "Rize", "Zonguldak", "Trabzon" }); // otomatik doldurma listesine tek bir eleman ekleniyor textBox1.AutoCompleteCustomSource.Add("Şanlıurfa"); TextBox lar için en çok kullanılan olay TextChanged olayıdır. TextBox un içine yazılan yazı Text özelliği ile alınabilir. string isim = textBox1.Text; string soyisim = textBox2.Text; int sayi = int.Parse(textBox5.Text); // eğer textbox5 in içi kesin sayı ise… txtSifre.TextChanged += new EventHandler(txtSifre_TextChanged); ... void txtSifre_TextChanged(object sender, EventArgs e) { // içindeki yazı değişince burası otomatik olarak çalışır. // örneğin şifre kontrolü anlık olarak burada yapılabilir. } 8 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox BPR251 Görsel Programlama I 5. MaskedTextBox Gelişmiş TextBox denetimi olarak kabul edilebilir. Mask özelliği uygulandığında herhangi bir özel doğrulama mantığı yazmadan giriş kontrol edilebilir. Sadece nümerik veya alfabetik veya karakter-rakam sayısı, ya da sadece ascii karakterler gibi veyahut telefon numarası gibi girişi formatlayabilirsiniz. Programda Name özellikleri kullanılarak anlaşılır isimler verilir. MaskedTextBox lar isimlendirilirken isimleri genellikle mtxt ile başlar, fakat zorunlu değildir. Set Mask tıklanarak aşağıda çıkan maskelerden biri kullanılabilir veya kendinize özel bir maske hazırlayabilirsiniz. TextBox için geçerli olan çoğu şey MaskedTextBox için de geçerlidir. Ancak MaskedTextBox ta Multiline, WordWrap, ScrollBars, AccepTab, CharacterCasing gibi özellikler yoktur! Diğer özellikler TextBox ile aynıdır. Aşağıdaki örnek maskeler ile birinci giriş telefon numarası için maskelenmiştir. İlk karakter zorunlu olarak 0 diğerleri de zorunlu olarak rakam olacaktır. İkinci giriş ise tarih girişi olarak ayarlanmıştır. maskedTextBox1.Mask = "\\0(000) 000-00-00"; maskedTextBox2.Mask = "00/00/0000"; Aşağıda en sık kullanılan özellikleri tablo şeklinde verilmiştir. Özellik Adı BeepOnError Mask AsciiOnly PropmtChar 9 Açıklama true yapılınca yanlış bir karakter girmeye çalışılınca beep (uyarı) sesi verir Veri girişini maskeleyerek biçimlendirir. Sadece ascii karakterlerin girişine izin verir Formatlarken karakterler için boşluk yerine görüntülenecek karakteri ayarlamaya yarar Veri Tipi bool string bool char Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox BPR251 Görsel Programlama I 6. MessageBox Kullanıcıya mesaj vermek için kullanılır. Show metodu ile beraber kullanılır. Eğer mesaj verilip mesajın durumuna göre Evet/Hayır/Tamam/İptal/Yeniden Dene/Yoksay gibi butonlardan birine tıklanınca hangisine tıklandığı bilinmek isteniyorsa geri dönüş değeri DialogResult özelliğinden alınır. Sık kullanılan Mesaj fonksiyonları aşağıda verilmiştir. MessageBox.Show("Mesaj Yazısı"); MessageBox.Show("Mesaj Yazısı", "Mesaj Başlığı"); MessageBox.Show("Mesaj Yazısı", "Mesaj Başlığı", MessageBoxButtons.OKCancel); MessageBox.Show("Mesaj Yazısı", "Mesaj Başlığı", MessageBoxButtons, MessageBoxIcon); MessageBox.Show("Mesaj Yazısı", "Mesaj Başlığı", MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton); Mesaj Yazısı: istediğiniz bir içerik yazısı yazabilirsiniz. Mesaj Başlığı: istediğiniz bir başlık yazısı yazabilirsiniz. MessageBoxButtons: Mesajın altında görüntülenecek butonları kontrol eder. Alabildiği Değerler: OK OKCancel AbortRetryIgnore YesNoCancel YesNo RetryCancel : : : : : : Tamam butonu Tamam , İptal butonları Durdur , Yeniden Dene, Yoksay butonları Evet , Hayır , İptal butonları Evet , Hayır butonları Yeniden Dene , İptal butonları MessageBoxIcons: Mesaj kutusunda görüntülenecek ikonu kontrol eder. Alabildiği Değerler: 10 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox None Error Hand Stop Question Exclamation Warning BPR251 Görsel Programlama I Information Asterisk MessageBoxDefaultButton: Varsayılan olarak odaklanmasını istediğiniz buton sırası Geri Dönüş Değeri: Mesaj kutusu kapatılırken hangi butona tıklandığını geri döndürür. Geri Dönebilecek Değerler: OK Cancel Abort Retry Ignore Yes No : : : : : : : kullanıcı kullanıcı kullanıcı kullanıcı kullanıcı kullanıcı kullanıcı “Tamam” butonuna tıklamıştır. “İptal” butonuna tıklamıştır. “Durdur” butonuna tıklamıştır. “Yeniden Dene” butonuna tıklamıştır. “Yoksay” butonuna tıklamıştır. “Evet” butonuna tıklamıştır. “Hayır” butonuna tıklamıştır. Kullanıcı bu geri dönüş değerlerine göre istediği bir işlemi yapabilir. using System; using System.Drawing; using System.Windows.Forms; namespace KullaniciKayitFormu { public partial class Form1 : Form { public Form1() { InitializeComponent(); // isim alanının kenar çizgilerini göster txtAdı.BorderStyle = BorderStyle.FixedSingle; // soyadı alanına girilen yazılar otomatik olarak büyük harf olsun txtSoyadı.CharacterCasing = CharacterCasing.Upper; // şifre alanında şifre karakteri * olsun. txtSifre.PasswordChar = '*'; // telefon alanı 0(378)-378-78-78 şeklinde girilsin mtxtTelefon.Mask = "\\0(000)-000-00-00"; //------------------------------------------------// tamam butonunun görünümü Flat olsun btnTamam.FlatStyle = FlatStyle.Flat; // kenarlık rengi kırmızı olsun btnTamam.FlatAppearance.BorderColor = Color.Red; // kenarlık kalınlığı 2 olsun btnTamam.FlatAppearance.BorderSize = 2; // üzerine mouse ile gidilince portakal rengi olsun btnTamam.FlatAppearance.MouseOverBackColor = Color.Orange; // tıklanınca sarı olsun btnTamam.FlatAppearance.MouseDownBackColor = Color.Yellow; //------------------------------------------------- 11 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox BPR251 Görsel Programlama I // memleket alanı için otomatik doldurma seçenekleri özel listemizden olsun txtMemleket.AutoCompleteSource = AutoCompleteSource.CustomSource; // memleket alanına otomatik seçilebilmesi için bazı şehirler beraber ekleniyor txtMemleket.AutoCompleteCustomSource.AddRange(new string[] { "Ankara", "Adana", "Bartın", "İstanbul", "İzmir", "Karabük", "Zonguldak", "Rize", "Şanlıurfa"}); // otomatik doldurma seçeneğimiz önersin ve varsa uyan otomatik yazsın txtMemleket.AutoCompleteMode = AutoCompleteMode.SuggestAppend; // anlasma metni tıklanınca lnkAnlasmaMetni_Click fonksiyonu çalışsın lnkAnlasmaMetni.Click += new EventHandler(lnkAnlasmaMetni_Click); // iptal butonu tıklanınca btnIptal_Click olayı çalışsın btnIptal.Click += new EventHandler(btnIptal_Click); // tamam butonu tıklanınca burası çalışsın btnTamam.Click += new EventHandler(btnTamam_Click); } void btnTamam_Click(object sender, EventArgs e) { // eğer isim boş bırakılmış ise uyar if (txtAdı.Text.Trim() == "") { MessageBox.Show("İsim veya soyisim boş bırakılamaz", "Boş Bırakma!", MessageBoxButtons.OK, MessageBoxIcon.Error); // uyardıktan sonra boş alana odaklan txtAdı.Focus(); // ve fonksiyondan geri dön. return; } // eğer soyadı boş bırakılmış ise uyar if (txtSoyadı.Text.Trim() == "") { MessageBox.Show("İsim veya soyisim boş bırakılamaz", "Boş Bırakma!", MessageBoxButtons.OK, MessageBoxIcon.Error); // uyardıktan sonra boş alana odaklan txtSoyadı.Focus(); // ve fonksiyondan geri dön. return; } // anlaşma metni okunmuş mu dşye kontrol et. if (lnkAnlasmaMetni.LinkVisited == false) { MessageBox.Show("Lütfen önce anlaşma metnini okuyunuz!", "Anlaşma Metni", MessageBoxButtons.OK, MessageBoxIcon.Error); // uyardıktan sonra boş alana odaklan lnkAnlasmaMetni.Focus(); // ve fonksiyondan geri dön. return; } 12 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 7. Hafta Button, Label, LinkLabel, TextBox, MaskedTextBox, MessageBox BPR251 Görsel Programlama I // mesaj içeriği yazısını oluştur string mesaj = "Sayın " + txtAdı.Text + " " + txtSoyadı.Text + "\nKaydınız başarılı bir şekilde alınmıştır.\n" + "Yeni bir kayıt yapmak istiyor musunuz?"; // mesaj ver DialogResult dr = MessageBox.Show(mesaj, "Kayıt Onay", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); // mesaj sonucu Yes ise alanları yeniden yazmak için temizle if (dr == DialogResult.Yes) { txtAdı.Clear(); txtSoyadı.Clear(); txtSifre.Clear(); txtMemleket.Clear(); mtxtTelefon.Clear(); } else Close(); // değilse formu kapat. } // iptal butonu tıklanınca burası çalışacak void btnIptal_Click(object sender, EventArgs e) { Close(); // formu kapatır } // burası anlaşma metni tıklanınca çalışacak void lnkAnlasmaMetni_Click(object sender, EventArgs e) { // verilmiş internet sitesini aç System.Diagnostics.Process.Start(@"http:\\bmyo.bartin.edu.tr\akgul"); // anlaşma metnini aç System.Diagnostics.Process.Start(@"C:\Users\"); // tıklanınca link ziyaret edildi durumunu true yap lnkAnlasmaMetni.LinkVisited = true; } } } 13 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi
Benzer belgeler
SDÜ Eğitim Öğretim Bilgi Sistemi Ders İçeriği
Try-catch-finally blokları kullanılarak hata oluĢturmaya müsait komutlar bu bloklara
yazılırlar. Hataya müsait iĢlemler try bloğu içine yazılır. Eğer hata meydana gelirse catch
bloğuna yazılan kod ...