Aracılığıyla paylaş


Metin Kutusu

sınıfı, TextBox biçimlendirilmemiş metinleri görüntülemenizi veya düzenlemenizi sağlar. Bir TextBox unsurunun yaygın bir kullanımı, biçimlendirilmemiş metinleri bir formda düzenlemektir. Örneğin, kullanıcının adını, telefon numarasını ve diğer bilgileri soran bir form, metin girişi için denetimleri kullanır TextBox .

Farklı durumları gösteren dört TextBox denetiminin ekran görüntüsü.

Aşağıdaki tabloda TextBox denetimiyle çalışmaya yönelik yaygın görevler listelenmiştir:

Başlık Description
Çok Satırlı TextBox Denetimi Oluşturma Birden çok metin satırı kabul eden bir TextBox oluşturmayı öğrenin.
TextBox'taki Metnin Ne Zaman Değiştiğini Algılama TextBox'ta metin değiştiğinde nasıl yanıt vereceğinizi öğrenin.
TextBox Denetiminde Sekme Karakterlerini Etkinleştirme TextBox'ta sekme karakterlerine nasıl izin vereceğinizi öğrenin.
TextBox'tan Satır Koleksiyonu Alma TextBox'tan metin satırları almayı öğrenin.
TextBox Denetimini Salt Okunur Yapma TextBox'ta düzenlemeyi önlemeyi öğrenin.
TextBox Denetiminde İmleci Metnin Başına veya Sonuna Yerleştirme TextBox'ta imleç konumunu ayarlamayı öğrenin.
Bir Metin Seçimini Al TextBox'tan seçili metni almayı öğrenin.
TextBox Denetiminde Odağı Ayarlama TextBox'a odaklanmayı öğrenin.
TextBox Denetiminin Metin İçeriğini Ayarlama TextBox'ta ilk metni ayarlamayı öğrenin.
Metin Düzenleme Denetiminde Yazım Denetimini Etkinleştirme TextBox'ta yazım denetimini etkinleştirmeyi öğrenin.
TextBox ile Özel Bağlam Menüsü Kullanma TextBox için özel bağlam menüsü oluşturmayı öğrenin.
Bağlam Menüsü ile Yazım Denetimi Kullanma Yazım denetimini bağlam menüsüyle tümleştirmeyi öğrenin.
TextBox'a Filigran Ekleme TextBox'ta yer tutucu metni görüntülemeyi öğrenin.

TextBox mı yoksa RichTextBox mı?

TextBox Hem hem de RichTextBox kullanıcıların metin girişine izin verir, ancak iki denetim farklı senaryolar için kullanılır. A TextBox , değerinden RichTextBoxdaha az sistem kaynağı gerektirdiğinden, yalnızca düz metnin düzenlenmesi gerektiğinde (bir formdaki kullanım) idealdir. Bir RichTextBox kullanıcının biçimlendirilmiş metinleri, resimleri, tabloları veya desteklenen diğer içeriği düzenlemesi gerektiğinde daha iyi bir seçimdir. Örneğin, biçimlendirme, resimler ve diğer içerikleri gerektiren bir belgeyi, makaleyi veya blogu düzenlemek en iyi şekilde kullanılarak RichTextBoxgerçekleştirilir. Aşağıdaki tabloda TextBox ve RichTextBox öğelerinin birincil özellikleri özetlenmiştir.

Yönetim Gerçek Zamanlı Yazım Denetimi Bağlam Menüsü (Ctr+B) gibi ToggleBold biçimlendirme komutları FlowDocument resimler, paragraflar, tablolar ve diğerleri gibi içerik
TextBox Yes Yes Hayı Hayır.
RichTextBox Yes Yes Evet (bkz . RichTextBox'a Genel Bakış) Evet (bkz . RichTextBox'a Genel Bakış)

Uyarı

TextBox biçimlendirmeyle ilgili (Ctr+B) gibi düzenleme komutlarını desteklemese de, her iki denetim tarafından da desteklenen birçok temel komut vardır, örneğin ToggleBold. Daha fazla bilgi için bkz. EditingCommands.

tarafından TextBox desteklenen özellikler aşağıdaki bölümlerde ele alınmıştır. hakkında RichTextBoxdaha fazla bilgi için bkz. RichTextBox'a Genel Bakış.

Gerçek zamanlı yazım denetimi

Gerçek zamanlı yazım denetimini TextBox veya RichTextBox içinde etkinleştirebilirsiniz. Yazım denetimi açıkken, yanlış yazılmış sözcüklerin altında kırmızı bir çizgi görünür (aşağıdaki resme bakın).

Yazım denetimi etkinleştirilmiş, yanlış yazılmış bir sözcüğün altında kırmızı bir alt çizgi gösteren TextBox denetiminin ekran görüntüsü.

Yazım denetimini etkinleştirmeyi öğrenmek için bkz. Metin Düzenleme Denetiminde Yazım Denetimini Etkinleştirme.

Bağlam menüsü

Varsayılan olarak, hem hem de TextBoxRichTextBox kullanıcı denetimin içine sağ tıkladığında görüntülenen bir bağlam menüsüne sahiptir. Bağlam menüsü kullanıcının kesmesine, kopyalamasına veya yapıştırmasına olanak tanır (aşağıdaki resme bakın).

Kes, kopyala ve yapıştır seçeneklerini içeren bir bağlam menüsünü görüntüleyen TextBox denetiminin ekran görüntüsü.

Varsayılan davranışı geçersiz kılmak için kendi özel bağlam menünüzü oluşturabilirsiniz. Daha fazla bilgi için bkz. TextBox ile Özel Bağlam Menüsü Kullanma.

Metin Kutuları Oluşturma

bir TextBox , yüksekliğinde tek bir çizgi olabilir veya birden çok çizgiden oluşabilir. Tek bir satır TextBox , az miktarda düz metin (örneğin, "Ad", "Telefon Numarası" ve formda diğer bilgileri) giriş için en iyisidir. Aşağıdaki örnekte tek bir satırın TextBoxnasıl oluşturulacağı gösterilmektedir.

<Page  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel>
    <TextBox Width="200" MaxLength="100" />
  </StackPanel>
</Page>

Kullanıcının birden çok metin satırı girmesini sağlayan bir TextBox de oluşturabilirsiniz. Örneğin, formunuz kullanıcının biyografik bir taslağını istediyse, birden çok metin satırı destekleyen bir TextBox kullanmak isteyebilirsiniz. Aşağıdaki örnekte, birden çok metin satırına sığacak şekilde otomatik olarak genişleyen bir TextBox denetim tanımlamak için Genişletilebilir Uygulama biçimlendirme dilinin (XAML) nasıl kullanılacağı gösterilmektedir.

<TextBox
  Name="tbMultiLine"
  TextWrapping="Wrap"
  AcceptsReturn="True"
  VerticalScrollBarVisibility="Visible"
>
  This TextBox will allow the user to enter multiple lines of text.  When the RETURN key is pressed, 
  or when typed text reaches the edge of the text box, a new line is automatically inserted.
</TextBox>

TextWrapping özniteliğini ayarlamak, Wrap denetiminin kenarına ulaşıldığında metni yeni bir satıra kaydırırTextBox, gerekirse denetim otomatik olarak yeni bir satıra yer açacak şekilde genişletilirTextBox.

AcceptsReturn özniteliğini true olarak ayarlamak, RETURN tuşuna basıldığında yeni bir satır eklenmesine neden olur ve gerekirse TextBox öğesi yeni bir satır için yer açacak şekilde otomatik olarak genişletilir.

VerticalScrollBarVisibility özniteliği, TextBox üzerine bir kaydırma çubuğu ekler, böylece TextBox içeriği, TextBox çerçevenin veya pencerenin boyutlarını aştığında kaydırılabilir.

Daha fazla bilgi için TextBox kullanımıyla ilgili farklı görevler hakkında, bu makalenin en üstünde listelenen nasıl yapılır konularına bakın.

İçeriğin ne zaman değiştiğini algılama

TextChanged olayının, beklediğiniz gibi TextBox yerine, bir RichTextBox veya KeyDown içindeki metin her değiştiğinde algılamak için kullanılması gerekir. Örnek için bkz. TextBox'taki Metnin Ne Zaman Değiştiğini Algılama.

Stiller ve şablonlar

Varsayılan ControlTemplate'yi, TextBox kontrolüne benzersiz bir görünüm vermek için değiştirebilirsiniz. Daha fazla bilgi için bkz. Stiller ve şablonlar nedir? ve Denetim için şablon oluşturma.

İçerik özelliği

TextBox denetimi, metin içeriğini görüntülemek için Text özelliğini kullanır.

Parçalar

Aşağıdaki tabloda, TextBox denetiminin adlandırılmış bölümleri listelenir.

Bölüm Türü Description
PART_ContentHost FrameworkElement Metin içeriğini barındıran çerçeve öğesi.

Görsel durumlar

Aşağıdaki tabloda denetimin görsel durumları listelenmiştir TextBox .

VisualState Adı VisualStateGroup Adı Description
Disabled OrtakDurumlar Denetim devre dışı bırakıldı.
Focused FocusStates Denetimin klavye odağı vardır.
GeçersizOdaklı DoğrulamaDurumları Kontrol öğesinde doğrulama hatası var ve klavye odağı bulunuyor.
InvalidUnfocused DoğrulamaDurumları Denetimde doğrulama hatası var ancak klavye odağı yok.
Mouseover OrtakDurumlar Fare denetimin üzerinde.
Sıradan OrtakDurumlar Kontrol normal durumda.
ReadOnly OrtakDurumlar Denetim salt okunur moddadır.
Odaklanmamış FocusStates Kontrolün klavye odağı yoktur.
Geçerli DoğrulamaDurumları Denetim geçerli ve doğrulama hatası yok.

Ayrıca bakınız