如何在 Windows 8 中使文本框仅接受数字和一位小数点

Dik*_*inc 4 c# windows-phone-8

我是 Windows 8 手机新手。我正在编写一个计算器应用程序,它只能接受文本框中的数字和一个小数点。如何防止用户在文本框中输入两个或多个小数点,因为计算器无法处理该问题。

我一直在使用 Keydown Event,这是最好的还是我应该使用 Key up?

private void textbox_KeyDown(object sender, System.Windows.Input.KeyEventArgs e) {

}
Run Code Online (Sandbox Code Playgroud)

beg*_*ner 5

您可以将其用于按键事件\n 在 form.Designer 中为文本框设置按键事件

\n\n
this.yourtextbox.KeyPress +=new System.Windows.Forms.KeyPressEventHandler(yourtextbox_KeyPress);\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后在你的表单中使用它

\n\n
//only number And single decimal point input \xd9\x81\xd9\x82\xd8\xb7 \xd8\xb9\xd8\xaf\xd8\xaf \xd9\x88 \xdb\x8c\xda\xa9 \xd9\x85\xd9\x85\xdb\x8c\xd8\xb2 \xd9\x85\xdb\x8c\xd8\xaa\xd9\x88\xd8\xa7\xd9\x86 \xd9\x86\xd9\x88\xd8\xb4\xd8\xaa\n        public void onlynumwithsinglepoint(object sender, KeyPressEventArgs e)\n        {\n            if (!(char.IsDigit(e.KeyChar) || e.KeyChar == (char)Keys.Back || e.KeyChar == \'.\'))\n            { e.Handled = true; }\n            TextBox txtDecimal = sender as TextBox;\n            if (e.KeyChar == \'.\' && txtDecimal.Text.Contains("."))\n            {\n                e.Handled = true;\n            }\n        }\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后

\n\n
private void yourtextbox_KeyPress(object sender, KeyPressEventArgs e)\n        {\n            onlynumwithsinglepoint(sender, e);\n        }\n
Run Code Online (Sandbox Code Playgroud)\n