私はTextBox
ですが、数字のみにしたいと考えています。したがって、私はグーグルで見つかったthis私はすでに多くの助けstackoverflowのポスト。しかし、私は数字の唯一のテキストボックスに20の下に何かを入力すると警告を表示します。最初に、私はイベントOnTextInput
を試しましたが、成功しなかったので、数値のものと同じイベントで処理しようとしましたOnPreviewTextInput
。私は両方に同じコードを使用しました。数値のテキストボックスの数値を制御する
if (!char.IsDigit(e.Text, e.Text.Length - 1))
{
var text = e.Text;
int num;
var success = int.TryParse(text, out num);
if (!success)
return;
if (num <= 20)
{
if (MessageBox.Show("Are you sure you want to go underneath 20?",
"... You sure?", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) ==
MessageBoxResult.Yes)
e.Handled = true;
else
{
num++;
textBox.Text = num.ToString();
}
}
e.Handled = true;
}
あなたは数字が20を下回ってはならないと言っていますが、次に比較します:num <= 20これには20が含まれます。テキストボックスが "20"を保持しても大丈夫ならば、その比較の=記号。 (このコメントはあなたのタイトルとあなたのコードが完全に一致していないためです) – Tyler
はい私は20をまだokにしたい – John
この投稿はあなたにも役立つと思います:http://stackoverflow.com/questions/2587602/textbox- value-changed TextBoxのTextChangedイベントについて説明していますので、おそらく次のようなことができます。 - TextChangedでTextBox値を取得し、数値であることを確認します。それが20以上であることを確認してください(または、20より小さい場合) – Tyler