C# C# Windows Form Örnekleri

C# TextBox Kullanımı

C# TextBox Kontrolü ve Kullanımı

Bir TextBox denetimi, bir formdaki kullanıcı girdisini kabul eder. Bu makalede, Windows Formlarında bir TextBox denetiminin tasarım zamanında ve çalışma zamanında nasıl oluşturulacağını tartışacağım. Ondan sonra, TextBox denetimi için mevcut olan çeşitli özellikleri ve yöntemleri tartışmaya devam edeceğim.

Bir textbox nesnesi, bir formdaki metni görüntülemek veya bir C# programı çalışırken kullanıcı girişi elde etmek için kullanılır. Bir textbox nesnesine, bir kullanıcı veri yazabilir veya panodan kontrolün içine yapıştırabilir.

C# TextBox Oluşturma

Tasarım zamanında Form tasarımcısı kullanarak veya çalışma zamanında koddaki TextBox sınıfını kullanarak (dinamik olarak da bilinir) bir TextBox denetimi oluşturabiliriz.

Tasarım zamanında bir TextBox denetimi oluşturmak için, bir TextBox denetimini Araç Kutusu’ndan Visual Studio’daki bir Form’a sürükleyip bırakmanız yeterlidir. Bir TextBox’ı Form üzerinde sürükleyip bıraktıktan sonra, TextBox aşağıdaki şekle benzer. Bir TextBox Formdayken, fareyi kullanarak taşıyabilir ve yeniden boyutlandırabilir ve özelliklerini ve olaylarını ayarlayabilirsiniz.

C# Dinamik TextBox Oluşturma

Çalışma zamanında bir TextBox denetimi oluşturmak yalnızca bir TextBox sınıfı örneği oluşturma, özelliklerini ayarlama ve Form denetimlerine TextBox sınıfı ekleme işlemidir.

Dinamik bir TextBox oluşturmak için ilk adım bir TextBox sınıfı örneği oluşturmaktır. Aşağıdaki kod parçacığını bir TextBox denetim nesnesi oluşturur.

Bir sonraki adımda, bir TextBox denetiminin özelliklerini ayarlayabilirsiniz. Aşağıdaki kod parçası, bir TextBox öğesinin arka plan rengini, ön plan rengini, Metin, Ad ve Yazı Tipi özelliklerini ayarlar.

Bir TextBox denetimi özellikleriyle hazır olduğunda, bir sonraki adım TextBox denetimini forma eklemektir. Bunu yapmak için Form.Controls.Add yöntemini kullanıyoruz. Aşağıdaki kod parçası, geçerli Forma bir TextBox denetimi ekler.

C# TextBox Değer Yazma ve Değer Okuma

Bir TextBox kontrolünde bir metni görüntülemek için, şöyle bir kod yazmanız gerekir.

Bir TextBox kontrolünden girilen değeri bu şekilde bir değişkene aktarabilirsiniz.

C# TextBox Özellikleri

Bir TextBox denetimini bir Forma yerleştirdikten, değer okuma ve yazma işlemlerini öğrendikten sonra sonra, bir sonraki adım özellikleri ayarlamaktır. Aşağıdaki özelliklerle textbox nesnesini biçimlendirebilir yada kişiselleştirebilirsiniz. C# TextBox Biçimlendirme işlemleri içinde hizalama, boyut ayarlama, renk değiştirme gibi bir çok özellik mevcuttur.

Özellikleri ayarlamanın en kolay yolu, Özellikler Penceresindendir. F4 tuşuna basarak Özellikler penceresini açabilir veya bir kontrolü sağ tıklayıp Özellikler menüsü öğesini seçebilirsiniz. Özellikler penceresi aşağıdaki şekle benziyor.

Aşağıda başlık olarak verilen özellikleri properties panelinde statik yada açıklamanın hemen altındaki koddan dinamik(çalışırken) olarak ayarlamak mümkündür.

Konum, Yükseklik, Genişlik ve Boyut

Location özelliği, bir formdaki TextBox başlangıç konumunu belirten bir nokta alır. Size özelliği, kontrolün boyutunu belirtir. Boyut özelliği yerine Witdth ve Height özelliğini de kullanabiliriz. Aşağıdaki kod parçası , bir TextBox denetiminin Konum, Genişlik ve Yükseklik özelliklerini ayarlar.

Multiline TextBox / C# TextBox Multiline Kullanımı

Varsayılan olarak, bir TextBox denetimi girişi yalnızca tek bir satırda kabul eder. Çok satırlı yapmak için, Multiline özelliğini true değerine ayarlamanız gerekir. Varsayılan olarak, Multiline özelliği false olarak gelir.

Bir TextBox denetimini Araç Kutusu’ndan Form’a sürükleyip bıraktığınızda, bir TextBox denetiminin yüksekliğini değiştiremezsiniz.

Ancak bir TextBox kontrolü seçip Görevler tutamacını tıklayıp MultiLine CheckBox’ı işaretlerseniz, bir TextBox’ta yükseklik yeniden boyutlandırma tutma tutamaçlarının bulunduğunu göreceksiniz ve bir denetimin yüksekliğini yeniden boyutlandırabilirsiniz.

Textbox BackColor ve ForeColor  / C# TextBox Arkaplan  ve Yazı Rengi Değiştirme

BackColor ve ForeColor özellikleri, sırasıyla bir TextBox öğesinin arka planını ve ön plan rengini ayarlamak için kullanılır. Özellikler penceresinde bu özelliklere tıklarsanız, Renk İletişim Kutusu açılır.

Alternatif olarak, çalışma zamanında arka plan ve ön plan renklerini ayarlayabilirsiniz. Aşağıdaki kod parçacığı BackColor ve ForeColor özelliklerini ayarlar.

Textbox BorderStyle

BorderStyle özelliğini kullanarak da bir TextBox öğesinin kenarlık stilini ayarlayabilirsiniz. BorderStyle özelliği, üç değeri olan bir BorderStyle numaralandırmasıyla temsil edilir. Bunlar None, FixedSingle ve fixed3d seçenekleridir.

Name

Ad özelliği, bir TextBox denetiminin benzersiz bir adını temsil eder. Koddaki kontrole erişmek için kullanılır. Aşağıdaki kod pasajı bir TextBox denetiminin adını ve metnini ayarlar ve alır.

Text, TextAlign ve TextLength

Bir TextBox öğesinin Text özelliği, bir TextBox denetiminin geçerli metnini gösterir. TextAlign özelliği, Left, Center veya Right olabilecek metin hizalamasını gösterir. TextLength özelliği, bir TextBox içeriğinin uzunluğunu döndürür.

Aşağıdaki kod parçası , Text ve TextAlign özelliklerini ayarlar ve bir TextBox denetiminin boyutunu alır. Aşağıdaki örnekte C# TextBox yazıyı ortalama işlemi de gerçekleştirilmiştir.

Metin Ekle

Bir TextBox’a metin eklemenin bir yolu, basitçe Text özelliğini geçerli metne ve bunun gibi bir şey eklemek isteyeceğiniz yeni metne ayarlamaktır.

TextBox aynı şeyi yapmak için ApendText yöntemine de sahiptir. AppendText yöntemi, bir TextBox öğesinin sonuna metin ekler. Aşağıdaki kod parçacığını, textBox1 içeriğine metin eklemek için AppendText yöntemini kullanır.

AcceptsReturn ve AcceptsTab

Çok satırlı bir TextBox denetiminde, yeni bir satır oluşturmak için CTRL + ENTER tuşlarına basmanız gerekir. AcceptsReturn özelliği, sadece ENTER tuşuna basarak TextBox kontrolünü yeni satıra taşımak için ayarlar. Varsayılan olarak, bir TextBox denetiminin AcceptsReturn özelliği false olarak gelir.

Bir TextBox denetimi multiline ayarlanmışsa, AcceptsTab özelliği TextBox denetiminin SEKME tuşunu kabul etmesi için kullanılır. Bu özellik ayarlanmazsa, SEKME tuşuna basmak, yalnızca bir formdaki bir sonraki denetime gider. Varsayılan olarak, bir TextBox denetiminin AcceptsTab özellik değeri false olarak gelir.

 

WordWrap

WordWrap özelliği true ise, gerekirse TextBox denetimindeki metin otomatik olarak bir sonraki satıra kaydırılır. Eğer . Bu özellik true değerine ayarlanırsa, ScrollBars özellik ayarından bağımsız olarak yatay kaydırma çubukları görüntülenmez.

 

ScrollBars

Çok Satırlı bir TextBox denetimi kaydırma çubuklarına sahip olabilir. TextBox denetiminin ScrollBars özelliği, bir denetim üzerindeki kaydırma çubuklarını göstermek için kullanılır. ScrollBars özelliği, dört değere sahip bir ScrollBars numaralandırmasıyla gösterilir –  Both, Vertical, Horizontal, ve None.

Aşağıdaki kod pasajı, hem dikey hem de yatay kaydırma çubuklarının bir TextBox denetiminde etkin olmasını sağlar ve kaydırma işlemi bir TextBox denetiminde gerektiğinde görünür.

 

Font

Font özelliği, bir TextBox denetiminin yazı tipini temsil eder. Özellikler penceresinde Font özelliğini tıklarsanız Yazı Tipi adı, boyutu ve diğer yazı tipi seçeneklerini görürsünüz. Aşağıdaki kod parçası, çalışma zamanında Font özelliğini ayarlar.

 

PasswordChar / C# TextBox Şifre Gizleme

PasswordChar özelliği, bir şifre girişi için kullanmanız gerektiğinde bir TextBox’a maskeleme uygulamak ve şimdi hangi şifreyi okunabilir yapmak için kullanılır. Örneğin, şifre karakterleri için bir yıldız (*) yerleştirebilirsiniz.

Aşağıdaki kod parçacığını, bir TextBox içinde girilen herhangi bir karakter olarak bir dolar ($) sembolü ayarlar.

 

UseSystemPasswordChar

UseSystemPasswordChar özelliği, varsayılan sistem şifresini tam olarak kullanmak için kullanılır UseSystemPasswordChar öğesi true olarak ayarlanırsa, varsayılan sistem şifresi karakteri kullanılır ve PasswordChar tarafından ayarlanan herhangi bir karakter yoksayılır.

CharacterCasing

TextBox öğesinin CharacterCasing özelliği, bir TextBox içindeki metnin büyüklüğünü ayarlar, Üç değeri vardır -Upper, Lower, ve Normal.
dynamicTextBox.CharacterCasing = CharacterCasing.Upper;

TextBox İçeriklerini Oku

TextBox denetiminin içeriğini okumanın en basit yolu Text özelliğini kullanmaktır. Yukarıda açıklanmasına rağmen tekrar bir özetlemek istedim. Aşağıdaki kod parçacığını, bir textbox değerini okuyun string türünde bir değişkende saklar.

 

Lines  / C# TextBox Satır Satır Okuma

Çok satırlı bir TextBox içinde, TextBox içeriği birden çok satırla ayrılırsa ve bir TextBox satırının içeriğini satır satır okumak istiyorsanız, TextBox öğesinin Lines özelliğini kullanabilirsiniz. Lines özelliği, döndürülen dizinin her öğesinin bir çizgi olduğu bir dize dizisi döndürür.

Aşağıdaki kod parçacığını bir TextBox içeriği satır satır okur.

 

MaxLength  / Maksimum Uzunluk

MaxLength özelliğini ayarlayarak bir TextBox denetimindeki karakter sayısını kısıtlayabilirsiniz. Aşağıdaki kod parçası, bir TextBox öğesinin maksimum uzunluğunu 50 karaktere ayarlar.

 

ReadOnly  / Sadece Oku

ReadOnly özelliğini true değerine ayarlayarak bir TextBox denetimini salt okunur (düzenlenemez) yapabilirsiniz. Aşağıdaki kod pasajı, ReadOnly özelliğini true değerine ayarlar.

 

ShortcutsEnabled  / Kısayolları Etkinleştirme ve Devre Dışı Bırakma

TextBox öğesinin ShortcutsEnabled özelliği, kısayolları etkinleştirmek veya devre dışı bırakmak için kullanılır. Varsayılan olarak, kısayollar etkindir. Aşağıdaki kod parçacığını bir TextBox kısayolları devre dışı bırakır.

ShortcutsEnabled özelliği aşağıdaki kısayol tuş kombinasyonlarına uygulanır:

  • CTRL+Z
  • CTRL+E
  • CTRL+C
  • CTRL+Y
  • CTRL+X
  • CTRL+BACKSPACE
  • CTRL+V
  • CTRL+DELETE
  • CTRL+A
  • SHIFT+DELETE
  • CTRL+L
  • SHIFT+INSERT
  • CTRL+R

SelectedText  / C# TextBox’ta Seçim Yapma

SelectedText özelliği, seçili metni bir TextBox denetiminde döndürür.

Bir TextBox içinde seçilen metni almak ve ayarlamak için SelectionStart ve SelectionLength özelliklerini de kullanabilirsiniz. SelectionStart özelliği, seçilen metnin başlangıç dizinini ve SelectionLength özelliği, başlangıç karakterinden sonra seçilecek karakter sayısını temsil eder. Aşağıdaki kod parçası, bir TextBox’ta seçimi ayarlar.

Clear / C# TextBox Temizleme

Clear yöntemi bir TextBox içeriğini kaldırır. Aşağıdaki kod parçacığını, bir TextBox içeriğini temizlemek için Temizle yöntemini kullanır.

 

SelectAll ve DeselectAll

TextBox sınıfı, bir TextBox denetiminin tüm metnini seçmek ve seçimi kaldırmak için SelectAll ve DeselectAll yöntemlerini sağlar. Aşağıdaki kod parçası, SelectAll ve DeselectAll yöntemlerinin nasıl kullanılacağını gösterir. Seçim için textBox nesnesinde metin olmalı.

Seçili olan metnin seçimini kaldırmak için kullanılır.

 

TextBox’ta Cut, Copy, Paste, Undo Operasyonları / C# TextBox Kopyala Yapıştır

TextBox sınıfı, pano işlemlerini kesmek, kopyalamak, yapıştırmak ve geri almak için Kes, Kopyala, Yapıştır ve Geri Al yöntemleri sağlar. Aşağıdaki kod parçaso Kes, Kopyala, Yapıştır ve Geri Al yöntemlerinin nasıl kullanılacağını gösterir.

 

C# TextBox Olayları

 

TextBox nesneleri bir çok klavye, fare, window ve form olaylarını desteklemektedir. Aşağıdaki şekilden tüm olaylara ulaşabilirsiniz. Yazını devamında sık kullanılan olaylara örnekler verilerek devam edilecektir.

 

C# Keydown Kullanımı/ C# TextBox Karakter Kontrolü

KeyDown olayını kullanarak kullanıcı tarafından hangi tuşa basıldığını yakalayabilirsiniz.

Aşağıdaki örnekte kullanıcının textboxta enter tuşuna basıp basmadığını öğrenebilirsiniz.

Yada kullanıcının hangi tuşa bastığını öğrenmek istiyorsanız.  e.KeyCode yada e.KeyData ile basılan tuşu öğrenebilirsiniz.

C# KeyPress Kullanımı

Bu olay, tuşa basıldığında ve sonra bırakıldığında karakter tuşları için düzenlenir. Bu olay, karakter olmayan anahtarlar için de yükseltilen KeyDown ve KeyUp öğelerinin aksine karakter olmayan anahtarlarla ortaya çıkmaz.

 

C# TextChanged Kullanımı

Kullanıcı girişi veya Text özelliğini yeni bir değere ayarladığında TextChanged olayını çalışır.

Aşağıdaki örnekte textBox1 nesnesinde her harfe basınca textBox1 değerini label1 nesnesinde gösterecektir.

 

 

C# TextBox focus Kullanımı

Aşağıdaki kod örneği,focus kullanımını gösterir. Örnekte, bir olay işleyicisi GotFocus olayının oluşumunu bildirir. Bu rapor, olayın ne zaman gerçekleştiğini öğrenmenize yardımcı olur ve hata ayıklama konusunda size yardımcı olabilir.

Örnek kodu çalıştırmak için, Button veya ComboBox gibi Denetimi’nden miras alan bir tür örneği içeren bir projeye uygulayabilirsiniz. Ben burada textbox nesnesine uyguladım.

 

 

5 Yorum

  • Hocam görmemiş olabilirim ama ben formu açtığımda textbox un içinde şeffaf bir yazı olsun istiyorum yazı yazınca gidicek.

    • Direk kullanabileceğiniz bir özellik yok. Kod yazarak çözebilirsiniz.
      TextBox Enter ve Leave olaylarını kullanarak aşağıdaki kodları her bir textBox için oluşturmanız gerekiyor. Bununla ilgili bir yazı veya video hazırlayıp linkini paylaşırım.

      private void textBox1_Enter(object sender, EventArgs e)
      {
      if(textBox1.Text==”Adınızı Girin”)
      {
      textBox1.Text = “”;
      textBox1.ForeColor = Color.Black;
      }
      }

      private void textBox1_Leave(object sender, EventArgs e)
      {
      if (textBox1.Text == “”)
      {
      textBox1.Text = “Adınızı Girin”;
      textBox1.ForeColor = Color.Silver;
      }
      }

      private void Form1_Load(object sender, EventArgs e)
      {
      textBox1.Text = “Adınızı Girin”;
      textBox1.ForeColor = Color.Silver;
      }

  • hocam cidden efsane bi yazı olmuş. insanın baktıkça bakası geliyor. emeğiniz için çok teşekkürler.

Yorum yap