出处:http://blog.csdn.net/hjingtao/article/details/7302448
方法一:
private void tBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 0x20) e.KeyChar = (char)0; //禁止空格键
if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return; //处理负数
if (e.KeyChar > 0x20)
{
try
{
double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());
}
catch
{
e.KeyChar = (char)0; //处理非法字符
}
}
}
方法二:
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if(e.KeyChar!=8&&!Char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
或者
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if(e.KeyChar!='\b'&&!Char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
方法三:
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar!='\b')//这是允许输入退格键
{
if((e.KeyChar<'0')||(e.KeyChar>'9'))//这是允许输入0-9数字
{
e.Handled = true;
}
}
}
方法四:
private void textBox1_Validating(object sender, CancelEventArgs e)
{
const string pattern = @"^\d+\.?\d+{1}quot;;
string content = ((TextBox)sender).Text;
if (!(Regex.IsMatch(content, pattern)))
{
errorProvider1.SetError((Control)sender, "只能输入数字!");
e.Cancel = true;
}
else
errorProvider1.SetError((Control)sender, null);
}
方法五:
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar=='.' && this.textBox1.Text.IndexOf(".")!=-1)
{
e.Handled=true;
}
if(!((e.KeyChar>=48 && e.KeyChar<=57) || e.KeyChar=='.' || e.KeyChar==8))
{
e.Handled=true;
}
}
方法六:
private void tbx_LsRegCapital_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
{
e.Handled = true;//消除不合适字符
}
else if (Char.IsPunctuation(e.KeyChar))
{
if (e.KeyChar != '.' || this.textBox1.Text.Length == 0)//小数点
{
e.Handled = true;
}
if (textBox1.Text.LastIndexOf('.') != -1)
{
e.Handled = true;
}
}
}
方法七:
利用ASCII码处理办法、
{
if ((e.KeyChar <= 48 || e.KeyChar >=57) && (e.KeyChar != 8) && (e.KeyChar != 46))
e.Handled = true;
================48代表0,57代表9,8代表空格,46代表小数点
}
相关推荐
在C# WinForms开发中,有时我们需要限制TextBox控件只接受数字输入,这对于处理数值数据的应用程序来说尤为重要。本文将详细介绍几种实现这一功能的方法,并深入分析每种方法的工作原理及适用场景。 ### 方法一:...
在C# WinForm开发中,TextBox控件是用于用户输入文本的基本组件。为了提升用户体验,开发者经常需要实现一些高级功能,比如猜想输入和历史记录输入。这两种功能在很多应用程序中都十分常见,例如搜索引擎、自动补全...
在本文中,我们将深入探讨如何在C# Winform应用程序中创建一个背景透明的TextBox控件。这个主题主要涉及C#编程语言,Windows Forms(Winform)框架,以及自定义控件开发。 首先,"C#Winform透明Textbox控件"指的是...
在Windows Forms(WinForm)开发中,TextBox控件是最常用的一种元素,用于接收用户的文本输入。为了提升用户体验,我们常常需要实现一个自动提示(Auto-Suggest或Auto-Complete)的功能,当用户在TextBox中输入文字...
.NET (C#) WinForm 中,需要控制 TextBox 只能输入数字,而不能输入其他非法字符。下面是实现这种功能的几种方法: 方法一:使用 KeyPress 事件 在 TextBox 的 KeyPress 事件中,使用 `e.Handled` 属性来阻止从...
要实现TextBox在Panel中的垂直居中,通常有以下几种方法: 1. **使用Anchor属性**:将TextBox的Anchor属性设置为Top和Bottom,这样TextBox会根据Panel的高度自动调整自身的高度并保持上下边距相等,从而实现居中。...
- 在设计视图中,添加必要的控件,例如四个TextBox(用于输入数字)和四个Button(分别对应加、减、乘、除操作),另外还需要一个TextBox或Label用于显示结果,以及可能的一个Button用于保存成绩。 2. **处理用户...
1. **事件处理**:在C#中,事件是对象之间通信的一种方式,当特定条件满足或动作发生时,事件会被触发。例如,当用户按下回车键时,会触发TextBox的`KeyDown`事件。 2. **键盘事件**:`KeyDown`事件是用于捕获用户...
在C#中,可以使用UserControl类作为Wizard页面的基础,然后添加所需的控件,如Label、TextBox、Button等。页面之间的切换可以通过事件处理程序实现。 4. **实现向导逻辑** 使用C#,我们可以为“下一步”和“上一步...
在C#编程中,文本框(TextBox)是用户界面中常用的一种控件,用于接收用户的文本输入。在设计用户友好的界面时,我们有时需要为文本框提供输入提示,这通常被称为“水印”或“占位符”效果。当文本框为空时,会显示...
4. **布局管理**:WinForm提供了几种布局管理器,如FlowLayoutPanel和TableLayoutPanel,帮助开发者轻松地组织和调整控件的位置,以适应不同屏幕尺寸和分辨率。 5. **数据绑定**:C#的WinForm支持数据绑定,能够将...
在C#中,可以通过递归方法遍历一个WinForm表单上的所有子控件,查找TextBox控件并设置其文本。如上面代码所示,有几种不同的实现方式: - 第一种方法使用了递归,检查每个控件是否包含子控件,如果是,则继续遍历...
在.NET框架中,C#是一种常用的编程语言,用于构建各种应用程序,其中WinForms是一个用于创建桌面应用程序的平台。为了丰富WinForms应用的界面和功能,开发者通常会利用第三方控件来增强用户体验。本文将深入探讨C# ...
C#中的System.Threading命名空间提供了Thread、ThreadPool和Task类,可以用于实现后台处理,保持界面响应。 4. **事件驱动编程**:WinForm应用程序是事件驱动的,用户操作会触发控件的事件。例如,当用户移动滚动条...
在C#中,我们可以使用第三方库来处理二维码的生成和解码。 在C# Winform环境下,一个基本的二维码生成工具的开发流程通常包括以下几个步骤: 1. 引入库:为了生成二维码,我们需要引入支持二维码编码的库。例如,...
WinForm则是C#中用于构建图形用户界面(GUI)的库,它提供了丰富的控件和事件处理机制,使得开发者可以轻松地创建交互式窗口应用。 创建一个WinForm计算器主要涉及以下几个关键知识点: 1. **WinForm控件**:...
2. **布局管理**:Winform提供了几种布局方式,如FlowLayoutPanel、TableLayoutPanel和StackPanel,帮助开发者组织和定位控件。例如,FlowLayoutPanel会自动调整控件的位置以适应容器的大小变化,而TableLayoutPanel...
在本文中,我们将深入探讨"C# WinForm数据库入门"这一主题。C# WinForm是Microsoft .NET Framework提供的一种用于创建桌面应用程序的用户界面框架。它允许开发者构建具有丰富图形界面的应用程序,而数据库连接功能则...
C#中实现Ribbon界面,通常会用到System.Windows.Forms.Ribbon命名空间下的类,如RibbonControl和RibbonTab。 系统包含的文件有以下几个: 1. 更多C#源码下载.url:这可能是一个链接,指向更多C#相关的学习资源或...
4. **处理用户输入**:在WinForm中,可以添加一个TextBox让用户输入看到的验证码,并设置一个按钮触发事件来验证用户输入是否与生成的验证码匹配。 ```csharp private void btnVerify_Click(object sender, ...