2

こんにちはフェローC#とWindows Phone開発者、

Windows Phoneアプリケーションの場合、ユーザーに年齢の入力を要求するテキストフィールドがあります。デバッグモード中に、番号.8を入力しました。[続行]をクリックすると、アプリケーションが予期せず閉じられました。小数点以下1桁を超える数字は使用できないことをユーザーに通知するメッセージボックスを投稿できるように、どのコードを追加する必要がありますか。助けてください

4

2 に答える 2

1

入力が文字列であると仮定して、次のことを試してください。

if (input.IndexOf('.') == -1 || input.LastIndexOf('.') == input.IndexOf('.'))
{
    //good
}
else
    MessageBox.Show("More than one decimal point");

ただし、より良い方法は、数値のフォーマットをチェックするTryParseを使用することです。

float age;
if (float.TryParse(input, out age))
{
    //good
}
else
    MessageBox.Show("Invalid age.");
于 2012-07-07T00:40:20.093 に答える
0

1つの方法は、ユーザーが入力を入力するときに、小数点以下1桁の入力数を小数点以下1桁に制限することです。

最後にチェックするのではなく、リアルタイムであるため、これははるかに優れています。

    private void tbx_KeyDown(object sender, KeyEventArgs e)
    {
        //mark the sneder as a textbox control so we can access its properties
        TextBox textBoxControl = (TextBox)sender;

        //if there is already a decimals, do not allow another
        if (textBoxControl.Text.Contains(".") && e.PlatformKeyCode == 190)
        {
            e.Handled = true;
        }
    }
于 2012-07-10T06:20:14.977 に答える