Översikt över textrutan

Med klassen TextBox kan du visa eller redigera oformaterad text. En vanlig användning av en TextBox är att redigera oformaterad text i ett formulär. Ett formulär som frågar efter användarens namn, telefonnummer osv. skulle till exempel använda TextBox kontroller för textinmatning. Det här avsnittet beskriver klassen TextBox och innehåller exempel på hur du använder den i både XAML (Extensible Application Markup Language) och C#.

Textruta eller Rich Text-ruta?

Både TextBox och RichTextBox tillåta användare att mata in text, men de två kontrollerna används för olika scenarier. A TextBox kräver mindre systemresurser än en RichTextBox , så det är idealiskt när endast oformaterad text behöver redigeras (dvs. användning i ett formulär). Ett RichTextBox är ett bättre val när det är nödvändigt för användaren att redigera formaterad text, bilder, tabeller eller annat innehåll som stöds. Till exempel är det bäst att redigera ett dokument, en artikel eller en blogg som kräver formatering, bilder osv. med hjälp av en RichTextBox. Tabellen nedan sammanfattar de primära funktionerna i TextBox och RichTextBox.

Kontroll Stavningskontroll i realtid Kontextmeny Formatera kommandon som ToggleBold (Ctr+B) FlowDocument innehåll som bilder, stycken, tabeller och så vidare.
TextBox Ja Ja Nej Nej.
RichTextBox Ja Ja Ja (se RichTextBox-översikten ) Ja (se RichTextBox-översikten )

Anmärkning

Även om TextBox inte stöder formateringsrelaterade redigeringskommandon som ToggleBold (Ctr+B), stöds många grundläggande kommandon av båda kontrollerna, till exempel MoveToLineEnd. Mer information finns i EditingCommands.

Funktioner som stöds av TextBox beskrivs i avsnitten nedan. Mer information om RichTextBoxfinns i Översikt över RichTextBox.

Stavningskontroll i realtid

Du kan aktivera stavningskontroll i realtid i en TextBox eller RichTextBox. När stavningskontroll är aktiverat visas en röd linje under eventuella felstavade ord (se bilden nedan).

textruta med stavningskontroll

Se Aktivera stavningskontroll i en textredigeringskontroll för att lära dig hur du aktiverar stavningskontroll.

Kontextmeny

Som standard har både TextBox och RichTextBox en snabbmeny som visas när en användare högerklickar i kontrollen. Snabbmenyn gör att användaren kan klippa ut, kopiera eller klistra in (se bilden nedan).

textruta med snabbmeny

Du kan skapa en egen anpassad snabbmeny för att åsidosätta standardbeteendet. Mer information finns i Använda en anpassad snabbmeny med en textruta.

Skapa textrutor

En TextBox kan vara en enda linje i höjd eller bestå av flera linjer. En enda rad TextBox är bäst för att mata in små mängder oformaterad text (t.ex. "Namn", "Telefonnummer" osv. i ett formulär). I följande exempel visas hur du skapar en enda rad TextBox.

<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>

Du kan också skapa en TextBox som gör att användaren kan ange flera textrader. Om ditt formulär till exempel bad om en biografisk skiss av användaren skulle du vilja använda en TextBox som stöder flera textrader. I följande exempel visas hur du använder XAML (Extensible Application Markup Language) för att definiera en TextBox kontroll som automatiskt expanderas för att rymma flera textrader.

<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>

Om du anger attributet TextWrapping till Wrap omsluter texten till en ny rad när kontrollen TextBox s kant nås, vilket automatiskt expanderar TextBox-kontrollen så att den innehåller utrymme för en ny rad, om det behövs.

Om du ställer in attributet AcceptsReturn till true infogas en ny rad när RETUR-tangenten trycks in, och expanderar återigen automatiskt TextBox så att den innehåller utrymme för en ny rad, om det behövs.

Attributet VerticalScrollBarVisibility lägger till en rullningslist i TextBox, så att innehållet i TextBox kan bläddras igenom om TextBox expanderar utöver storleken på ramen eller fönstret som omger den.

Mer information om olika uppgifter som är associerade med att använda en TextBoxfinns i Guide.

Identifiera när innehållet ändras

Vanligtvis bör TextChanged-händelsen användas för att identifiera när texten i en TextBox eller RichTextBox ändras, snarare än KeyDown som du kanske förväntar dig. Ett exempel finns i Identifiera när text i en textruta har ändrats.

Se även