4

数字 (数字) 以外のアルファベットや特殊文字をユーザーに使用させたくないアプリを作成しています。ユーザーは数字しか入力できません...ユーザーがアルファベットまたは特殊文字を入力した場合、エラーメッセージが表示されます...「ヌル部分」の解決策を見つけました

if (uservalue == "" )
  textblock.text = "Sorry! enter digit please"
else
  textblock.text=y.toString();

ユーザーがテキストボックスに数字を入力せずに「クリックしてください」ボタンを押すと、「申し訳ありませんが、数字を入力してください」というメッセージがテキストブロックに表示されます。アルファベットや特殊文字の問題を解決するにはどうすればよいですか?

4

6 に答える 6

11

TextBox に以下を追加することで、電話のキーボードを変更して、数字のみを表示することができます。

<TextBox .... InputScope="Digits" ....>

これでも「.」が追加されます。キーボードでキーを押します。ユーザーが入力できないようにするには、KeyUp イベントを TextBox に追加し、次の操作を行います。

private void KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
    TextBox txt = (TextBox)sender;
    if (txt.Text.Contains('.'))
    {
        txt.Text = txt.Text.Replace(".", "");
        txt.SelectionStart = txt.Text.Length;
    }
}
于 2012-04-23T14:51:37.187 に答える
2

TryParseメソッドを使用できます。

int digit;
if (!int.TryParse(uservalue, out digit))
{
    textblock.text = "Sorry! enter digit please";
}
else
{
    textblock.text = digit.toString();
}

これは、ユーザーが有効な 32 ビット整数を入力することになっていることを前提としています。非常に大量の数字が入力される可能性がある大きな値を処理する必要がある場合は、次の正規表現を使用し\d+て入力を検証できます。

if (!Regex.IsMatch(uservalue, @"\d+"))
{
    textblock.text = "Sorry! enter digit please";
}
else
{
    textblock.text = uservalue;
}
于 2012-04-23T14:49:12.273 に答える
1

xaml でaTextBoxと setを使用できます。入力スコープTextBox.InputScope=Number

于 2012-04-23T14:55:22.977 に答える
1

h と k を整数変数として宣言します。テキストボックスは数値のみを許可します

private void txt3_KeyPress(object sender, KeyPressEventArgs e)
    {

        for (int h = 58; h <= 127; h++)
        {
            if (e.KeyChar == h)             //58 to 127 is alphabets tat will be         blocked
            {
                e.Handled = true;
            }

        }

        for(int k=32;k<=47;k++)
        {
            if (e.KeyChar == k)              //32 to 47 are special characters tat will 
            {                                  be blocked
                e.Handled = true;
            }

        }



    }
于 2013-10-15T07:05:01.733 に答える
0

Rithc Melton の発言に基づいて、すべての inputscope オプションのリストを次に示します。

入力範囲一覧とチュートリアル

于 2012-04-25T10:35:37.323 に答える
0

正規表現を使用できます

于 2012-04-23T14:52:18.260 に答える