4

PromptCharを表示せずにMaskedTextBoxを使用する方法はありますか?入力を検証するためのマスクを指定したいのですが、編集モード中にプロンプ​​ト文字がスペースを占有することを望んでいません。

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

PromptCharを( "")に設定しても機能しません。ゼロ幅スペース(\ u200B)に設定すると機能するようですが、マスクが特定の長さに達すると奇妙なことが起こります(13文字が魔法の数のようです)。それとも、自分で転がすのが最善でしょうか?

4

3 に答える 3

12

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

于 2012-03-23T16:03:59.503 に答える
1

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

これは、WebページのJavaScriptでも実行できます。

于 2009-09-22T12:32:35.540 に答える
0

プロパティを確認しましたCutCopyMaskFormat か?

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

于 2009-09-22T12:37:55.177 に答える