6

数字のみを許可するように、Winフォームのテキストボックスにマスクを配置するにはどうすればよいですか?そして、それが別のマスクデータ、電話のzipなどでどのように機能するか。

Visual Studio 2008 C#を使用しています

ありがとう。

4

5 に答える 5

5

MaskedTextBoxコントロールを使用できます

http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.aspx

于 2010-02-14T01:56:47.073 に答える
3

許可されていない入力を防止するか、続行する前に入力を検証しますか?

前者は、ユーザーがキーを押したときに混乱する可能性がありますが、何も起こりません。通常は、キーを押した状態を表示することをお勧めしますが、入力が現在無効であるという警告を表示します。たとえば、電子メールアドレスの正規表現をマスクするように設定することもおそらく非常に複雑です。

ErrorProviderを見て、ユーザーが必要なものを入力できるようにしますが、入力時に警告を表示します。

数字のみを許可するテキストボックスの最初の提案については、NumericUpDownも検討することをお勧めします。

于 2010-02-14T01:57:22.983 に答える
0

ユーザーのキー押下イベントを制御して、不要な文字を許可しないことで入力をマスクします。

小数の数値のみを許可するには:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        // allows 0-9, backspace, and decimal
        if (((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 46))
        {
            e.Handled = true;
            return;
        }

        // checks to make sure only 1 decimal is allowed
        if (e.KeyChar == 46)
        {
            if ((sender as TextBox).Text.IndexOf(e.KeyChar) != -1)
                e.Handled = true;
        }
    }

電話番号の値のみを許可するには:

private void txtPhone_KeyPress(object sender, KeyPressEventArgs e)
{
     if (e.KeyChar >= '0' && e.KeyChar <= '9') return;
     if (e.KeyChar == '+' || e.KeyChar == '-') return;
     if (e.KeyChar == 8) return;
     e.Handled = true;

}
于 2016-05-19T22:24:30.197 に答える
-1

上記のように、MaskedTextBoxを使用します。

ErrorProviderを使用することも価値があります。

于 2012-06-14T05:09:32.180 に答える
-1

マスクテキストボックスを使用して、MasktextboxId.Maskを割り当てます。

テキストボックスを使用する場合は、正規表現を作成する必要があります

于 2014-11-21T07:54:16.033 に答える