有关TextBox中输入字符控制的一种解决办法

解决|控制

我们知道,在C#中,TextBox控件对输入字符的控制有keypress、keyup、和keydown事件来使用,但大家也看到了,这几个事件对输入字符的控制都有一定的缺陷,如果,你使用中文输入法,那么很多原来你不希望输入的字符也可以输入进去。这几天做程序的时候,就碰到了这个问题,我的解决思路很简单,既然这三个事件不再起作用,那么我就使用了TextBox控件中时刻能发生的TextChanged事件,以期望在这个事件中作些东西,以达到控制字符的目的。废话就不多说了,我将控制输入字符为数字的代码粘贴出来,希望大家多指正,如果能对你有益的话,我就更happy了。

private System.Windows.Forms.TextBox textBox1;
private string text;
public Form1()
{
text = textBox1.Text;
}
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
int len = text.Length;
if(len < textBox1.Text.Length)
{
int index = textBox1.Text.IndexOf(text);
char c = (textBox1.Text.Remove(index,text.Length))[0];
if(c.CompareTo('0') < 0||c.CompareTo('9') >0)
{
textBox1.Text = text;
textBox1.SelectionStart = text.Length;
}
}
text = textBox1.Text;

}

时间: 2024-10-03 19:24:22

有关TextBox中输入字符控制的一种解决办法的相关文章

lnmp中mail函数不能发送邮件2种解决办法

方法一,使用sendmail组件来发邮件 1.安装 sendmail 组件 yum install sendmail 2.使用下面的命令重启php-fpm进程 /etc/init.d/php-fpm restart 3.检测sendmail是否运行正常 /etc/init.d/sendmail status 如果显示正在运行running 就可以. 可能用到的命令 /etc/init.d/sendmail start (启动sendmail) /etc/init.d/sendmail stop 

php和mysql中uft-8中文编码乱码的几种解决办法_php技巧

PHP页面转UTF-8编码问题 1.在代码开始出加入一行: 复制代码 代码如下: header("Content-Type: text/html;charset=utf-8"); 2.PHP文件编码问题 点击编辑器的菜单:"文件"->"另存为",可以看到当前文件的编码,确保文件编码为:UTF-8, 如果是ANSI,需要将编码改成:UTF-8. 3.PHP文件头BOM问题: PHP文件一定不可以有BOM标签 否则,会出现session不能使用

php和mysql中uft-8中文编码乱码的几种解决办法

对于乱码这个问题php开发者几乎都会有碰到过,我们下面主要是介绍了php文件乱码和页面乱码以及php mysql数据库连接时乱码解决方法. - - PHP页面转UTF-8编码问题 1.在代码开始出加入一行: 代码如下  header("Content-Type: text/html;charset=utf-8"); 2.PHP文件编码问题 点击编辑器的菜单:"文件"->"另存为",可以看到当前文件的编码,确保文件编码为:UTF-8, 如果是

单击Button控件时,以对话框的形式弹出用户在TextBox中输入的值

问题描述 单击Button控件时,以对话框的形式弹出用户在TextBox中输入的值 新建一个aspx页面,命名为Alert.aspx,在页面添加一个TextBox控件和一个Button控件,当用户单击Button控件时,以对话框的形式弹出用户在TextBox中输入的值. 解决方案 在按钮里面写 ClientScript.RegisterClientScriptBlock(GetType(), "sas", "<script> alert('" + Tex

JAVA中在文本框中输入字符后如何在弹出下拉菜单中出现对应的选项,急求各位大师。

问题描述 JAVA中在文本框中输入字符后如何在弹出下拉菜单中出现对应的选项,急求各位大师. 如何1是电汇,2是信用证.当我在文本框中输入1后,自动弹出下拉菜单:1 电汇. 请说的详细些,这问题真的困扰我很久了.谢谢各位啦. 解决方案 能不能把问题描述的更详细点 输入1 对应的选项 电汇..是从数据库中查询的 还是只是前台的一个效果 解决方案二: 是不是类似于搜索引擎那种,比如百度一样,输入一个三国下面会显示出三国******什么的. 解决方案三: 你说的是自动补全吧,如果是输入框,必须监听输入状

c#窗体-怎么让textBox中的字符从右下角开始写入

问题描述 怎么让textBox中的字符从右下角开始写入 新手,正在练习写一个简单的计算器,求大神告知怎么让textBox中的字符从右下角开始写入,或者求告知我怎么使用ToolBarTextAlign,我用它创建了一个对象,但不知道如何使用,就像图片里那样,但是没效果.求大神解答. 解决方案 在Form上放一个toolbar1,然后 toolBar1.TextAlign = System.Windows.Forms.ToolBarTextAlign.Right

C#WPF中怎样在一个窗口中textBox中输入的内容显示在另一个窗口中的textBox中

问题描述 C#WPF中怎样在一个窗口中textBox中输入的内容显示在另一个窗口中的textBox中 C#wpf中怎样在一个窗口中textBox中输入的内容显示在另一个窗口中的textBox中 解决方案 你是要同时显示么?还是在一个窗口的Textbox中输完打开另一个界面显示你输入的值 解决方案二: 同时显示,假设一个textbox放在上面,两一个放在它的下面,在上面的textbox输入"+",下面的textbox自动也输入"+"

Qt 向TextEdit中输入字符

问题描述 Qt 向TextEdit中输入字符 我写了这样一段代码 目的是把一个int拆分成4个char然后转成string以插入到TextEdit中,但是我在调试的时候发现了这种问题: bicode现在是对的,组合起来应该是0x23baffec 但是tmp后面四位不对,这是什么情况? 哪位大神能帮我指出错误~ 解决方案 QT的字符编码转换 .字符编码转换 QTQt TextEdit 使用 解决方案二: 请把inst值给出来,

net-如何调用在textbox中输入的值?

问题描述 如何调用在textbox中输入的值? 在c++.net中,如何调用在textbox中输入的值?取到之后,又如何在.cpp文件里面调用该值? 解决方案 我只知道思路,首先,获得textbox控件的句柄,用textbox的句柄去获得它里面的值,将这个值存到一个你定义的变量里面,然后.CPP文件就可以使用 这个值了.思路都是这样的,我做过mfc.c#没做过c++.net.但是我接触的都是这个套路,你自己探索一下,不会差很远的.相信自己. 解决方案二: 动态加载Textbox并取得输入值验证T