コンボコントロールでは未入力のときや入力が完了していないとき、様々な補助機能を提供しています。この章ではそれらの機能について解説します。
代替テキストの表示は、DropDownStyleプロパティがDropDownStyle.DropDownListに設定され、テキストボックスの編集が不可の場合も動作します。 |
(図)代替テキストを表示したコンボコントロール
次のサンプルコードは、上図のような代替テキストを表示する方法です。
' フォーカスがないときの代替テキスト GcComboBox1.Watermark.DisplayNull.Text = "製品番号を入力してください" GcComboBox1.Watermark.DisplayNull.ForeColor = System.Drawing.Color.Goldenrod ' フォーカスがあるときの代替テキスト GcComboBox1.Watermark.Null.Text = "半角で入力してください" GcComboBox1.Watermark.Null.ForeColor = System.Drawing.Color.Green
// フォーカスがないときの代替テキスト GcComboBox1.Watermark.DisplayNull.Text = "製品番号を入力してください"; GcComboBox1.Watermark.DisplayNull.ForeColor = System.Drawing.Color.Goldenrod; // フォーカスがあるときの代替テキスト GcComboBox1.Watermark.Null.Text = "半角で入力してください"; GcComboBox1.Watermark.Null.ForeColor = System.Drawing.Color.Green;
フィールドに何も入力されていないときに表示するプロンプト文字は、PromptCharプロパティを使用して設定します。 プロンプト文字はMaskFormat.Patternプロパティに定義された入力マスクの位置にプレースホルダとして表示され、ユーザに入力を促します。 なお、PromptCharプロパティには、半角または全角の文字を設定できますが、文字列は設定できません。
(図)プロンプト文字("_")
代替テキストを設定している場合、コントロールに文字が入力されていないときには代替テキストの設定が優先されます。 未入力時に、MaskFormat.Patternプロパティで設定したリテラル文字列を含む書式とプロンプト文字を表示するには、次のサンプルコードのように、代替テキストを空の文字列に設定します。
GcComboBox1.Watermark.DisplayNull.Text = string.Empty GcComboBox1.Watermark.Null.Text = string.Empty GcComboBox1.Format.Pattern = "商品ID \A{1}-\D{5}" GcComboBox1.PromptChar = '_'
GcComboBox1.Watermark.DisplayNull.Text = string.Empty; GcComboBox1.Watermark.Null.Text = string.Empty; GcComboBox1.Format.Pattern = "商品ID \\A{1}-\\D{5}"; GcComboBox1.PromptChar = '_';