RadTextBox允许输入整形数字以及退格键

勿喷,谢谢!!!

//允许输入整形数字以及退格键

using System.Windows.Forms;

namespace BaseDataMaintain.Views.Controls
{
/// <summary>
/// int input textbox
/// </summary>
public class TextIntNumBox : Telerik.WinControls.UI.RadTextBox
{
protected override void OnKeyPress(System.Windows.Forms.KeyPressEventArgs e)
{
base.OnKeyPress(e);
//开头不允许出现.
if (SelectionStart == 0)
{
//if (e.KeyChar == ‘0‘)
//{
// e.Handled = true;
// return;
//}
if (e.KeyChar == ‘-‘)
{
e.Handled = false;
return;
}
if (e.KeyChar == ‘1‘
|| e.KeyChar == ‘2‘
|| e.KeyChar == ‘3‘
|| e.KeyChar == ‘4‘
|| e.KeyChar == ‘5‘
|| e.KeyChar == ‘6‘
|| e.KeyChar == ‘7‘
|| e.KeyChar == ‘8‘
|| e.KeyChar == ‘9‘
|| e.KeyChar == ‘\b‘)
{
e.Handled = false;
return;
}
}

//0后只可以跟. add 2014.11.27
if (this.Text.Trim().StartsWith("0") && e.KeyChar != ‘\b‘)
{
e.Handled = true;
return;
}

//只能数字 + Backspace
if (e.KeyChar == ‘0‘
|| e.KeyChar == ‘1‘
|| e.KeyChar == ‘2‘
|| e.KeyChar == ‘3‘
|| e.KeyChar == ‘4‘
|| e.KeyChar == ‘5‘
|| e.KeyChar == ‘6‘
|| e.KeyChar == ‘7‘
|| e.KeyChar == ‘8‘
|| e.KeyChar == ‘9‘
//|| e.KeyChar == ‘.‘
|| e.KeyChar == ‘\b‘)
{
e.Handled = false;
}
else
{
e.Handled = true;
}
}

//支持复制、剪贴、黏贴、Ctrl+A
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
if (keyData == (Keys.Control | Keys.A))
{
this.SelectAll();
}
if (keyData == (Keys.Control | Keys.C))
{
this.Copy();
}
if (keyData == (Keys.Control | Keys.X))
{
this.Cut();
}
if (keyData == (Keys.Control | Keys.V))
{
this.Paste();
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
}

时间: 2024-10-31 04:26:41

RadTextBox允许输入整形数字以及退格键的相关文章

C# 文本框只能输入数字和退格键 (转)

C# 文本框只能输入数字和退格键 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'&&

HBase的shell命令行界面按退格键(Backspace)无法删除问题

在HBase的shell命令行界面输入错误项按"退格键"删除,却怎么也删除不了: 解决办法: 第一步,修改SecureCRT的设置参数: 第二步,按"Ctrl+退格键(Backspace)"进行删除即可.

linux退格键处理

//mydb.h#ifndef MYDB_H_ #define MYDB_H_ void init_db(); int conn_db(const char *hostname, const char *username, const char *password, const char *dbname); void disconn_db(); int open_db(const char *SQL); int exec_db(const char *SQL); #endif /* MYDB_H

关于python2.7交互模式&quot;退格键乱码&quot;

在RHEL上装好了python2.7.6, 进入到交互模式后(就是输入python之后进入的screen), 发现退格键和方向键都使用不了,(变成^H^H^H之类的乱码) 一个命令输入错误了只能从头开始,不能删除,很是痛苦. 查阅文档之后发现是readline模块没有安装的原因, 所以只能卸载掉python,先装上readline模块,然后再安装python来解决问题,T_T. 有没有readline模块可以在交互模式下输入 import readline来测试 需要安装的两个包为:readli

SSH中的SQL命令按退格键出现乱码的问题解决

用SSH调用SQLPLUS输入SQL语句,按backspace(退格键)出现^H的乱码如下所示: [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jun 6 00:09:23 2014 Copyright (c) 1982, 2005, Oracle.  All rights reserved. Connected to: Oracle Database 10g

SecureCRT 退格键等不好用

1.MongoDB Shell中退格键使用的问题. 利用SecureCRT工具访问linux的时候,在使用MongoDB的交互式shell的时候,退格键(Backspace)无法使用,导致无法修改输入的字符.为这个错误,废了好长时间的力气,终于找到了错误的原因.其实,主要是SecureCRT工具默认的字符输入模式的问题,可以通过以下方式修改: 第一步:选择Option菜单中的Session Option. 第二步:在左侧的目录中选择Terminal—Emulation,在其中的Terminal选

SqlPlus中退格键和方向键的设置

在刚装好的Oracle中,我们使用SqlPlus会发现非常的蹩脚,不仅退格键不好用,方向键也不行调出history,下面有几种解决方法. 1.可以使用ctrl+Backspace键强制输出输入的错误,也可以export stty erase ^h,当然这只是临时的方法,想一劳永逸请看下面. 2.在oracle用户目录下编辑bash_profile文件 [[email protected] ~]$ vi .bash_profile 添加以下代码 stty erase ^h 保存退出 使修改生效 [

解决vim 退格键(backspace)不能用

两个步骤: 1.去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set nocompatible 2.backspace有几种工作方式,默认是vi兼容的.对新手来说很不习惯.对老vi 不那么熟悉的人也都挺困扰的.可以用set backspace=indent,eol,start来解决. indent: 如果用了:set indent,:set ai 等自动缩进,想用退格键将字段缩进的删掉,必须设置这个选项.否则不响应.eol:如果插入模式下在行开头,想通过退格键合并两行,需要设置e

Ubuntu使用VI编辑时退格键不能正常使用问题解决

新安装了Ubuntu,使用VI编辑文件时,发现删除不能像普通文本那样删除. 解决办法,新安装VIM解决问题. 参考文章: http://blog.sina.com.cn/s/blog_7d0c2fed01010zbi.html 这个问题主要是新系统直装了vi,没有装vim.因为vi是不能直接按退格键删除字符的,所以当你使用退格键删除字符,只有在按下esc时,那些字符才会消失...vim可以直接像记事本一样编辑字符!