[C#] TextBoxコントロールの基本的な使い方とプロパティ
C#のTextBoxコントロールは、ユーザーからテキスト入力を受け取るためのUI要素です。 基本的な使い方としては、Windows FormsアプリケーションでフォームにTextBoxを配置し、プロパティを設定して動作をカスタマイズします。 主なプロパティには、 Text (現在のテキスト内容)、 MaxLength (入力可能な最大文字数)、 ReadOnly (読み取り専用にするかどうか)、 Multiline (複数行入力を許可するかどうか)などがあります。 イベントとしては、 TextChanged (テキストが変更されたときに発生)や KeyPress (キーが押されたときに発生)などがあり、これらを利用して入力内容の検証や動的なUI更新を行います。
TextBoxコントロールの概要
TextBoxとは TextBoxの用途 用途説明ユーザー入力ユーザーからのテキストデータの受け取り検索機能検索条件を入力するためのフィールドパスワード入力セキュリティのためにパスワードを隠すコメント入力ユーザーからのフィードバックやコメントを受け取る TextBoxの基本的な配置方法- ツールボックスからTextBoxコントロールを選択します。
- フォーム上にドラッグ&ドロップします。
- プロパティウィンドウで、必要なプロパティ(例:Name、Text、Sizeなど)を設定します。
このコードでは、 myTextBox という名前のTextBoxを作成し、フォームの指定した位置に配置しています。
TextBoxの基本プロパティ
Textプロパティ myTextBox.Text = "初期値"; // TextBoxに初期値を設定 string inputText = myTextBox.Text; // ユーザーが入力したテキストを取得 MaxLengthプロパティ myTextBox.MaxLength = 20; // 最大文字数を20に設定 ReadOnlyプロパティ myTextBox.ReadOnly = true; // TextBoxを読み取り専用に設定 Multilineプロパティ myTextBox.Multiline = true; // TextBoxを複数行入力可能に設定 myTextBox.Size = new Size(200, 100); // サイズを調整 PasswordCharプロパティ myTextBox.PasswordChar = '●'; // 入力された文字を●で隠すTextBoxのイベント
TextChangedイベント myTextBox.TextChanged += (sender, e) => < // テキストが変更されたときの処理 Console.WriteLine("入力内容が変更されました: " + myTextBox.Text); >; KeyPressイベント myTextBox.KeyPress += (sender, e) => < // 数字以外の入力を無効にする if (!char.IsDigit(e.KeyChar) && e.KeyChar != (char)Keys.Back) < e.Handled = true; // 入力を無効にする >>; KeyDownイベント myTextBox.KeyDown += (sender, e) => < // Enterキーが押されたときの処理 if (e.KeyCode == Keys.Enter) < Console.WriteLine("Enterキーが押されました。"); e.SuppressKeyPress = true; // Enterキーのデフォルト動作を抑制 >>; KeyUpイベント myTextBox.KeyUp += (sender, e) => < // 特定のキーが離されたときの処理 if (e.KeyCode == Keys.Escape) < Console.WriteLine("Escapeキーが離されました。"); >>;TextBoxのカスタマイズ
フォントと色の設定 myTextBox.Font = new Font("メイリオ", 12, FontStyle.Regular); // フォントを設定 myTextBox.ForeColor = Color.Blue; // テキストの色を青に設定 myTextBox.BackColor = Color.LightYellow; // 背景色を薄い黄色に設定 サイズと位置の調整Size プロパティや Location プロパティを使用して、TextBoxの大きさや配置を変更できます。
myTextBox.Size = new Size(250, 40); // サイズを250x40に設定 myTextBox.Location = new Point(20, 50); // 位置を(20, 50)に設定 境界線のスタイル変更デフォルトでは、TextBoxは標準の境界線を持っていますが、 BorderStyle プロパティを使用して、境界線のスタイルを変更できます。
myTextBox.BorderStyle = BorderStyle.FixedSingle; // 境界線を単一の固定スタイルに設定TextBoxの応用例
入力内容のリアルタイム検証例えば、メールアドレスの形式をチェックする場合、 TextChanged イベントを利用して、入力内容が正しいかどうかを確認し、エラーメッセージを表示することができます。
myTextBox.TextChanged += (sender, e) => < string inputText = myTextBox.Text; if (!IsValidEmail(inputText)) // メールアドレスの形式を検証 < Console.WriteLine("無効なメールアドレスです。"); >>; private bool IsValidEmail(string email) < // 簡易的なメールアドレスの検証ロジック return email.Contains("@") && email.Contains("."); > 自動補完機能の実装 private List suggestions = new List < "apple", "banana", "cherry", "date" >; myTextBox.TextChanged += (sender, e) => < string inputText = myTextBox.Text; var filteredSuggestions = suggestions.Where(s =>s.StartsWith(inputText)).ToList(); // 候補を表示する処理(例:ListBoxを使用) ShowSuggestions(filteredSuggestions); >; private void ShowSuggestions(List suggestions) < // 候補を表示するための処理を実装 > 複数行入力の活用TextBoxの Multiline プロパティを利用して、複数行のテキストを入力できるようにすることで、ユーザーからの詳細な情報を受け取ることができます。
myTextBox.Multiline = true; // 複数行入力を有効にする myTextBox.Size = new Size(300, 100); // サイズを調整 myTextBox.ScrollBars = ScrollBars.Vertical; // 縦スクロールバーを表示まとめ
URLをコピー URLをコピーしました 2025-04-15 更新日: 2025-04-15 関連記事 [C#] TextBoxでの文字数制限の設定方法 [C#] TextBoxの文字色を変更する方法 [C#] TextBoxで複数行入力を実現する方法 [C#] TextBoxから文字列を取得する方法 [C#] TextBoxで数値のみを入力可能にする方法 [C#] TextBoxで半角文字のみを許可する方法 [C#] TextBoxの背景色を変更する方法 [C#] TextBoxを非表示にする方法 [C#] TextBoxで半角英数字のみを許可する方法 [C#] TextBoxで数値と小数点のみを許可する方法- Label (10)
- LinkLabel (8)
- Button (10)
- RadioButton (9)
- TextBox (13)
- RichTextBox (10)
- MaskedTextBox (10)
- ListBox (10)
- ListView (11)
- CheckBox (10)
- CheckedListBox (7)
- ComboBox (9)
- PictureBox (10)
- TreeView (10)
- DateTimePicker (9)
- MonthCalendar (10)
- ProgressBar (10)
- NumericUpDown (12)
- WebBrowser (10)
- ToolTip (10)
- NotifyIcon (11)