如何在C#中查找窗体内所有的文本框,并且让一部分的文本框只能输入数字?
比如有一个窗体内有文本框还有其他的控件 我是怎么找出这些文本框
找到后让其中的一部分的文本框只能输数字?比如找到了 4个文本框 我让其中的2 个文本框只能输入数字?
比如有一个窗体内有文本框还有其他的控件 我是怎么找出这些文本框
找到后让其中的一部分的文本框只能输数字?比如找到了 4个文本框 我让其中的2 个文本框只能输入数字?
解决方案 »
- 在不同的命名空间如何传递想要的值
- 执行Server.TransferRequest("XX.aspx");时,出错:为 XX.aspx 执行子请求时出错。没找到解决方案,怎么办,求解
- 在域中C#2008导出EXCEL出错
- 如何传递参数给多线程,并返回值??
- 想问一下关于'的作用(或意思)
- 一个关于刷新的超级有意思的难题,路过不要错过啊!
- 如何添加双向认证的WEB服务引用?
- 求一个C#或vb.net模拟登录QQ空间的例子
- 请教一个关于webservice和.net组件结合的好处的问题?
- C# 验证是否为数字
- 如何和com交换图象数据,用Istream??
- 创建类或成员函数时,在类或成员函数前声明一段[....]或<....>的作用???
{
Regex rx = new Regex(@"^\d*$");//匹配数字
if (!rx.IsMatch(textBox1.Text.Trim()) || !rx.IsMatch(textBox2.Text.Trim()))
//do what u want to do here.
}
{
foreach (Control c in ctrl.Controls)
{
TextBox tb = c as TextBox;
if (tb != null) //按照你的要求判断那个TextBox需要只输入数字。
{
//tb.PreviewKeyDown += new PreviewKeyDownEventHandler(tb_PreviewKeyDown);
tb.KeyDown += new KeyEventHandler(c_KeyDown);
}
if (c.Controls.Count > 0)
InitTextBox(c);
}
} private void c_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData < Keys.D0 || e.KeyData > Keys.D9) //这里对数字键相应,如果需要小数点和退格需要再放宽条件。
e.SuppressKeyPress = true;
}
[DllImport("User32.dll")]
static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
[DllImport("User32.dll")]
static extern int GetWindowLong(IntPtr hWnd, int nIndex);
public const int GWL_STYLE = -16;
public const int ES_NUMBER = 0x2000;
private void button1_Click(object sender, EventArgs e)
{
SetWindowLong(textBox1.Handle, GWL_STYLE,
GetWindowLong(textBox1.Handle, GWL_STYLE) | ES_NUMBER);
}
并通过TextBox tbx = control as TextBox来判断是否为TextBox.
//处理文本框中内容,只能输入数字
private void wz_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if ( e.KeyChar > (char)47 && e.KeyChar < (char)58 || e.KeyChar ==(char)8 ||e.KeyChar==(char)46)
{
e.Handled = false;
}
else
{
e.Handled = true;
}
}