Home > C# > WPF > WPFコントロール > テキスト編集コントロール > TextBox > 属性を使用して挙動の異なるTextBoxを作成する

属性を使用して挙動の異なるTextBoxを作成する[C# WPF]

新規作成日 2018-11-21
最終更新日

TextBoxコンポーネントは、属性を追加するだけで様々な挙動をするTextBoxを作成できます。

複数行を入力できるTextBoxコントロールを作成する

複数行の入力ができるTextBoxコントロールを作成するには、TextWrapping属性をWrapに設定し、AcceptsReturn属性をtrueに設定し、VerticalScrollBarVisibility属性をVisibleに設定します。

TextWrapping属性をWrapに設定すると、入力されたテキストが、新しい行に折り返されます。TextBoxコントロールの端に到達すると、必要に応じてTextBoxコントロールを自動的に展開して新しい行のための空間を確保します。

AcceptsReturn属性をtrueに設定すると、新しい行が挿入されます。リターン・キーが押されると、必要に応じて、再び自動的に、新しい行のための空間を含むようにTextBoxを展開します。

VerticalScrollBarVisibility属性は、TextBoxに、スクロール・バーを追加します。そのため、TextBoxが、それを囲むフレームやウィンドウの大きさを超えて拡大する場合、TextBoxの内容をスクロールすることができます。

<Window x:Class="TextBox01.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="200" Width="350">
    <Grid>
        <TextBox 
              Name="tbMultiLine"
              TextWrapping="Wrap"
              AcceptsReturn="True"
              VerticalScrollBarVisibility="Visible">
            このTextBoxは、ユーザーが、複数のテキスト行を入力できます。
            リターン・キーが押されると、あるいは、入力したテキストが、
            テキスト・ボックスの端に達すると、新しい行が、自動的に挿入されます。
        </TextBox>
    </Grid>
</Window>

複数行を入力できるTextBoxコントロール

参考

TextBoxコントロールを読み取り専用にする

IsReadOnly属性をtrueに設定するとTextBoxは、実行時に書き込むことができません。

TextBoxを読み取り専用にするには、 IsReadOnly属性を指定します。IsReadOnlyの既定の値は、falseです。IsReadOnly属性をtrueに設定するとTextBoxは、実行時に書き込むことができません。

<Window x:Class="TextBox01.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="200" Width="350">
    <Grid>
        <TextBox IsReadOnly="True">
            このテキストボックスは、読み取り専用です。
        </TextBox>
    </Grid>
</Window>
参考
このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」