我在Windows窗体上工作..我需要我的TextBox不接受负值..我怎么能这样做.. 是否有任何财产可以做同样的事情......
答案 0 :(得分:3)
您需要编写文本框的按键事件,如:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
您还可以使用数字更新控件来防止negetive值。
更新:
参考:Sai Kalyan Akshinthala
我的代码不会处理复制/粘贴的情况。用户可以通过复制/粘贴输入负值。所以我认为Sai Kalyan Akshinthala的答案对于那种情况是正确的,除了一个小的长度> = 2的变化。
private void textBox1_TextChanged(object sender, EventArgs e)
{
if(textBox1.Text.Length >= 2)
{
int acceptednumber = Convert.ToInt32(textBox1.Text);
if(acceptednumber < 0)
{
textBox1.Text = "";
MessageBox.Show("-ve values are not allowed");
}
else
{
textBox1.Text = textBox1.Text;
}
}
}
答案 1 :(得分:1)
是的,您可以在textbox的textchanged事件中编写以下代码部分
if(textBox1.Text.Length >= 2)
{
int acceptednumber = Convert.ToInt32(textBox1.Text);
if(acceptednumber < 0)
{
textBox1.Text = "";
MessageBox.Show("-ve values are not allowed");
}
else
{
textBox1.Text = textBox1.Text;
}
}
答案 2 :(得分:0)
仅使用min和pattern将不允许输入负值
输入类型为min =“ 0”模式=“ ^ [0-9] + $”