2009-09-22 9 views
4

PromptCharを表示せずにMaskedTextBoxを使用する方法はありますか?私は入力を検証するためのマスクを指定したいと思いますが、編集モード中にスペースを取らないようにするプロンプト文字はありません。PromptChar for .NETのMaskedTextBoxを非表示にする

理由は、制限された文字セットでフリーテキストを受け入れる場合です。すべての文字はオプションの英数字です。私が持っている問題は、すべてのテキストを選択すると、プロンプト文字が選択されているということです。

PromptCharを( "")に設定すると機能しません。それをゼロ幅のスペース(\ u200B)に設定するのはうまくいくようですが、マスクが一定の長さに達すると変なことが起こります(13文字はマジックナンバーのようです)。それとも、自分のものを転がすのが最善でしょうか?

答えて

11

これは古い質問ですが、これは他の人が同じ問題を抱えているとうまくいけば助かります。 .net 2.0以降では、 'HidePrompt'というプロパティがあります。これをtrueに設定すると、フィールドをクリックするまでプロンプトテキストが非表示になります。したがって、最初にプロンプ​​ト文字をスペース ""に設定してから、 "InsertKeyMode"を "Insert"に変更してから、 'HidePrompt'をTrueに設定します。プロンプト文字をスペースに変更すると、ユーザーがクリックしたときにプロンプ​​トが表示されず、hidepromptが一般に非表示になり、挿入モードでプロンプトの途中でクリックするのではなく、フィールドの先頭に移動します文字フィールド。

1

テキストボックスを使用して正規表現(またはその他の検証プロセス)を使用して、コントロールがフォーカスを失ったときにテキストが有効であることを確認する方法はどうですか?また、これがWindowのアプリの場合は、TextChangingイベント(またはKeyPress)にジャンプし、最初に入力に実際に入っている無効な文字をすべて停止します。

これは、ウェブページのjavascriptでも行うことができます。

+0

私はこれを最後にしました。 MaskedTextBoxは、より多くの機能を備えており、より柔軟性があるため、MaskedTextBoxを使用したいと考えていました。もちろん、クイックソリューションも同様に機能します。 – Jeremy

0

プロパティCutCopyMaskFormatをチェックしましたか?

IncludePromptまたはIncludePromptAndLiteralsに設定されているようです。

関連する問題