控件问题--怎样才能得到文本框中的数据的类型? 我想验证textBox中数据的类型是否是正确的,如在一个文本框中应该是0~1的小数,怎样才能判断输入是否正确呢?例如输入“abc”就不对。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是呀,但是有什么方法可以判断用户输入的类型是否正确呢?比如:请输入年龄:就只能输入0~100的整数,而不能是“abc”之类的吧? private void textBox3_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e){ if(e.KeyChar=='0' || e.KeyChar=='1') { //0~1的小数 } else { e.Handled=true; }} using System; using System.Windows.Forms; namespace WindowsControlLibrary1 { /**//// <summary> /// 只能输入数字的文本框 /// </summary> public class NumTextBox : TextBox { public NumTextBox() { } protected override void WndProc(ref Message m) { int WM_CHAR = 0x0102; if (m.Msg == WM_CHAR) { if (((char)m.WParam >= '0') && ((char)m.WParam <= '9') || (int)m.WParam == (int)Keys.Back || (int)m.WParam == (int)Keys.Delete) { base.WndProc(ref m); } } else { base.WndProc(ref m); } } }} 1。在KeyUp事件里面,或者KeyPress事件里面捕捉,如果输入了非数字就把输入的值给清空。2。在Validated事件中也可以进行值的校验,用 VB里面的isnumberic函数比较方便。3。就是在其他地方做校验 最简单的方法private void textUserID_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if(e.KeyChar!=8&&e.KeyChar!=127&&(e.KeyChar<48||e.KeyChar>57))//只许退格和Del键和数字 { e.Handled=true; } } 补充:上面过滤条件再加上"."的ASCII码 用正则啊,Regx.IsMatch(txtbox1.Text,"^\d+$") AjaxControlToolkit---Slider 后台线程赋值不起作用 新手问题,c#中,MDI父窗体如果操作子窗体中的对象或方法 关于C# ORACLE 问题 请问这个类有什么用,具体用来解决什么问题 一个急需解决的问题...... 急!! 有时间的近来看看. 怎么能重绘窗体的标题栏? 反序列化出现奇怪的类型转换错误 如果用SQL数据库返回的XML内容有图像类型时,我们怎么显示? 求助高手(急):如何用C#实现txt文本数据导入SqlServer? 关于C#编程中启动新窗体的问题 非常着急请教一个问题
{
if(e.KeyChar=='0' || e.KeyChar=='1')
{
//0~1的小数
}
else
{
e.Handled=true;
}
}
using System.Windows.Forms;
namespace WindowsControlLibrary1
{
/**//// <summary>
/// 只能输入数字的文本框
/// </summary>
public class NumTextBox : TextBox
{
public NumTextBox()
{
} protected override void WndProc(ref Message m)
{
int WM_CHAR = 0x0102;
if (m.Msg == WM_CHAR)
{
if (((char)m.WParam >= '0') && ((char)m.WParam <= '9') ||
(int)m.WParam == (int)Keys.Back || (int)m.WParam == (int)Keys.Delete)
{
base.WndProc(ref m);
}
}
else
{
base.WndProc(ref m);
}
}
}
}
2。在Validated事件中也可以进行值的校验,用 VB里面的isnumberic函数比较方便。
3。就是在其他地方做校验
private void textUserID_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar!=8&&e.KeyChar!=127&&(e.KeyChar<48||e.KeyChar>57))//只许退格和Del键和数字
{
e.Handled=true;
}
}