0

私の winforms アプリケーションには、何千ものテキスト ボックスがあります。

数値(整数)しか入力できないテキストボックスに、数値用のテキストボックスのコピペを無効にしたい。

例:

Employee number: 1234567
  1. text box の ShortcutsEnabled プロパティに false を設定しようとしましたが、コピーと貼り付け全体が完全に無効になりません。これは望ましくありません。数字のコピー貼り付けを許可したいのです。
  2. クリップボードからデータを取得できます

クリップボード.GetText();

かどうかを確認します

Int32.TryParse

番号/文字列を確認します。

コードごとにコードを固定したり、正規表現を使用したりする代わりに使用できる一般的なアプローチはありますか?

4

3 に答える 3

1

TextBox の代わりに MaskedTextBox または NumericUpDown を使用します。

于 2012-09-20T04:14:34.773 に答える
0

TextChanged イベントを使用して、その中の現在のテキストの検証を確認します。そのテキスト ボックスを多くの勝利フォームで使用する場合は、TextBox の高度なユーザー コントロールを作成し、その TextChanged メソッドをオーバーライドすることをお勧めします。

于 2012-09-20T05:43:12.443 に答える
0

まったく無効にしないための簡単な方法は、数値でマスクされたテキストボックスを使用して、不適切な入力 (数値以外) が拒否されるようにすることです。コピペだけでなく、直接入力も可能です。

于 2012-09-20T03:24:42.743 に答える