在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。限制只能输入数字,小数点,Backspace,del这几个键。数字0~9所对应的keychar为48~57,小数点是46,Backspace是8。
拖一个Textbox到窗体上,添加OnKeyPress事件,在事件写判断的代码,只要判断不是这些键,设置eHandled的值为true,就可以屏蔽输入。
1判断是否为数字或Backspace,按下面这样写的话只能输入数字和Backspace,所以还得给代码添加些条件,还要能够输入小数点。
程序代码
if ((kc < 48 || kc > 57) && kc != 8)
eHandled = true
2输入小数点。输入的小数要符合数字的格式,类似999这样的是不能够输入的。做法就是用floatTryParse来转换Textbox中之前和之后的值,然后比较两者的转换结果。具体的代码如下:
程序代码
if (kc == 46) //小数点
{
if (txtMoneyTextLength <= 0)
eHandled = true; //小数点不能在第一位
else
{
float f;
float oldf;
bool b1 = false, b2 = false;
b1 = floatTryParse(txtMoneyText, out oldf);
b2 = floatTryParse(txtMoneyText + eKeyCharToString(), outf);
if (b2 == false)
{
if (b1 == true)
eHandled = true;
else
eHandled = false;
}
}
}
DataList的数据绑定不要去绑定所谓的破数据源控件了!
private void BindList()
{
string strSql="select x1,x2,x3 from tb where 1=1";
if(!StringIsNullOrEmpty(textBoxTextTrim()))
{
strSql+=" and x1 like '%{0}%'";//精确查询就换等号
strSql=StringFormat(strSql,textBoxTextTrim());
}
DataTable _dt=DBHelperQueryData(strSql);
DataListDataSource=_dt;
DataListDataBind();
}
在page_load事件和button的click事件下面直接调用这个方法就好了!
如果只会拖控件做程序的话,到后面你会发现是害了你自己!
望采纳!
不是很明白你的意思
据我的理解 你的意思是不是 点击button按钮 改变textbox的文字?
要是这样的话 你在butto 的click事件中写如下代码
textbox1txt="文字"
这样就可以实现单击button设置txt的文本
要想不覆盖的话 定一个个变量 在button的点击事件下 做累加 然后在赋值给txtbox就可以
键盘输入的字符可以通过重写TextBox控件的OnKeyPress()事件处理,见如下代码: protected override void OnKeyPress(KeyPressEventArgs e) // 屏蔽非数字键 { baseOnKeyPress(e); if (thisReadOnly) // 只读, 不处理 return; if ((int)eKeyChar <= 32) // 特殊键(含空格), 不处理 return; if (!charIsDigit(eKeyChar)) // 非数字键, 放弃该输入 { eHandled = true; return; } }
以上就是关于C#中如何限制Textbox控件中只能输入数字,要能用退格的全部的内容,包括:C#中如何限制Textbox控件中只能输入数字,要能用退格的、c#语言用textbox输入框输入内容,点击查询按钮(button)显示对应相关的内容、C# 代码怎么控制textbox 输入等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)