textBox里怎样限制输入的数字大小,出现提示后按提示上的确定键后textBox的数据刷新为空
这是我编译的代码,可以只能提示,并不能刷新,按下button错误的数据还是可以入数据库里
private void textBox1_TextChanged(object sender, EventArgs e)
{
{
TextBox tb = (TextBox)sender; if (tb.Text == ""
|| Convert.ToInt32(tb.Text) > 5 ||
Convert.ToInt32(tb.Text) < 0)
MessageBox.Show("答案有误,请从选");
}
这是我编译的代码,可以只能提示,并不能刷新,按下button错误的数据还是可以入数据库里
private void textBox1_TextChanged(object sender, EventArgs e)
{
{
TextBox tb = (TextBox)sender; if (tb.Text == ""
|| Convert.ToInt32(tb.Text) > 5 ||
Convert.ToInt32(tb.Text) < 0)
MessageBox.Show("答案有误,请从选");
}
解决方案 »
- Could not find file 'C:\WINDOWS\TEMP\5ko7gm2e.dll'.
- 手柄编程
- 高分求解,在线给分。IsDBNull()的问题
- 如何用主窗体中工具栏上的按钮,控制子窗体的显示与关闭?
- 自动检测代码的一个小工具...
- 在页面上单击一个Button, 返回到服务器时,依次会执行哪些事件(常用的)
- 求一个winform+Ibatis.net的源码
- 大家来看看
- 思归等大侠,问个问题,能动态的生成一个Word文件吗?
- vs2019 office2013 找不到“Microsoft.Office.Tools.Excel.Controls”
- 怎么将文件夹里指定的图片,复制到另一个文件夹中!急!急
- 图片绑定问题
private void textBox1_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender; if (tb.Text == ""
|| Convert.ToInt32(tb.Text) > 5 ||
Convert.ToInt32(tb.Text) < 0)
MessageBox.Show("答案有误,请从选");
bSave = false;
}
else
{
bSave = true;
}private void button1_Click(object sender, EventArgs e)
{
if(!bSave)
{
MessageBox.Show("答案有误,不能保存");
return;
}
}
LZ是不是直接copy过去了 我晕死 程序的括号差了一个
你写这句代码在你的textchanged事件里就行了
bool bSave = false;
private void textBox1_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender; if {(tb.Text == ""
|| Convert.ToInt32(tb.Text) > 5 ||
Convert.ToInt32(tb.Text) < 0)
MessageBox.Show("答案有误,请从选");
bSave = false;
}
else
{
bSave = true;
}
}
private void button1_Click(object sender, EventArgs e)
{
if(!bSave)
{
MessageBox.Show("答案有误,不能保存");
return;
}
}
............改好了
首先将textbox的maxlength属性设置为1
然后写代码:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled =( e.KeyChar > '0'&& e.KeyChar < '5' )||( e.KeyChar == (char)8 )? false : true;
if (e.Handled)
MessageBox.Show("您的输入不正确"); }
{
try
{
int inVal = Convert.ToInt32(textBox1.text.trim())
if(inVal >5||inVal <0)
MessageBox.Show("答案有误,请从选");
}
catch
{
MessageBox.Show("答案有误,请输入数字");
textBox1.text ="";
}
}
function TextChanged()
{
var txt=document.getElementById("TextBox1").value;
var txtnum=txt*1;
if (txt== ""||txtnum> 5 ||txtnum< 0)
{
alert("答案有误,请从选");
document.getElementById("TextBox1").value="";
}
}再在下面的TextBox1控件中加上onblur="TextChanged()"就可以了!
function onlyNum() {
var k = window.event.keyCode;
if ((k == 46) || (k == 8) || (k == 189) || (k == 109) || (k == 190) || (k == 110) || (k >= 48 && k <= 57) || (k >= 96 && k <= 105) || (k >= 37 && k <= 40))
{ }
else if (k == 13) {
window.event.keyCode = 9;
}
else {
window.event.returnValue = false;
}
}
在TextBox里面 onkeydown="onlyNum()"
这个是只能输入数字,‘-’,‘.’ 的一个方法,放在javascript里面,这样只用判断是否输入正确就可以了,不用做字符串的处理
设置NumericUpDown,最小值0,最大值5
用户根本不会输错值,也就不会弹出恼人的MessageBox,从更好的用户体验来说,也不该选择TextBox
{
bSave = true;
}
你都把他卸载外面了
找不到与他匹配的if当然会提示无效
写在textchanged里面
{
int NumA=0;
///判断输入的是数字
try
{
int NumA=(int)textBox1.text;
}catch
{
MessageBox.Show("答案有误,不能保存");
textBox1.Text=string.Empty;
reutrn;
}
//假设范围为0-5
if(NumA<0 || NumA>5)
{
MessageBox.Show("答案有误,不能保存");
textBox1.Text=string.Empty;
return;
}
}
还有一个:最好不要直接 Convert.Toint32(str);//如果str不是数字岂不是出现异常了?
然后呢你那个说的提示完还可以写入,当然可以写入阿,你提示完没有做任何操作,既没Break 也没 Return,