我自己写的:

procedure TForm4.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['' .. '', '.', '-', #, #, #]) then
begin
Key := #;
end else begin
if Key = '-' then
begin
if not string(TEdit(Sender).Text).Contains('-') then
begin
//光标定位在第一个上
TEdit(Sender).SelStart := ;
end else begin
Key := #;
end;
end else if Key = '.' then begin
if not string(TEdit(Sender).Text).Contains('.') then
begin
//光标定位在最后一个上
TEdit(Sender).SelStart := Length(TEdit(Sender).Text);
end else begin
Key := #;
end;
end;
end;
end;

默认支持左右方向键

万一老师的博客:http://www.cnblogs.com/del/archive/2007/11/24/970893.html

//让 Edit 只接受数字

//方法1:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9']) then
    Key := Chr();
end; //方法2:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Byte(Key) in [..]) then  // 0的 Ascii 是 48
    Key := Chr();
end; //方法3:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not CharInSet(Key, ['1'..'5']) then Key := #0;
end;

//Edit 文本的选择与光标位置
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.SetFocus;                          //给于焦点
  SendMessage(Edit1.Handle,EM_SETSEL,,);  //选择第一个字符
  SendMessage(Edit1.Handle,EM_SETSEL,,-); //全选
  SendMessage(Edit1.Handle,EM_SETSEL,,);  //光标移到第一个字符后面
  SendMessage(Edit1.Handle,EM_SETSEL,,);  //光标移到开始
  SendMessage(Edit1.Handle,EM_SETSEL,-,);  //光标移到开始
end;

//待续...

自己写的 限制文本框TEdit中只能输入数字的更多相关文章

  1. 控制input标签中只能输入数字以及小数点后两位

    js 代码如下: /* 控制input标签中只能输入数字 和小数点后两位 */ function checkNum(obj) { //检查是否是非数字值 if (isNaN(obj.value)) { ...

  2. C#的winform中控制TextBox中只能输入数字

    C#的winform中控制TextBox中只能输入数字 private void textBox3_KeyPress(object sender, System.Windows.Forms.KeyPr ...

  3. Delphi的Edit控件中只能输入数字且只能输入一个小数点

    使用这种功能必须使用 OnKeyPress 事件,该事件是在窗体中获得键盘输入的焦点,并且在用户按键时发生.OnKeyPress 事件中有个重要参数:Key.Key 参数为Char 型,它能够获得用户 ...

  4. 限定textbox中只能输入数字的小方法

    在textbox中加入onkeyup="this.value=this.value.replace(/\D/g,' ')"即可实现这一功能 验证数字的正则表达式:^[0-9]*$或 ...

  5. C#-WinForm-Winform TextBox中只能输入数字的几种常用方法(C#)

    方法一: private void tBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 0x20) e.KeyCh ...

  6. Winform TextBox中只能输入数字的几种常用方法(C#)

    方法一: private void tBox_KeyPress(object sender, KeyPressEventArgs e) { ; //禁止空格键 )) return; //处理负数 if ...

  7. winform中如何在TextBox中只能输入数字(可以带小数点)

    可以采用像web表单验证的方式,利用textbox的TextChanged事件,每当textbox内容变化时,调用正则表达式的方法验证,用一个label在text后面提示输入错误,具体代码如下: pr ...

  8. C#-WinForm-TextBox中只能输入数字的几种常用方法(C#)

    方法一: private void tBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 0x20) e.KeyCh ...

  9. input输入框中只能输入数字,非数字字符自动清除

    前言:项目中有个缴纳保证金的功能,要是输入框只能输入数字,不能输入其他字符. ①HTML代码:<input class="input-box" type="text ...

随机推荐

  1. React组件生命周期过程说明

    来自kiinlam github94 实例化 首次实例化 getDefaultProps getInitialState componentWillMount render componentDidM ...

  2. SQLServer count函数、cross apply和outer apply、

    1.COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入)2.COUNT(*) 函数返回表中的记录数 select *   from TABLE_1 T1 outer ap ...

  3. 浅谈Java中的hashcode方法

    哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: 1 public native int hashCode(); 根据 ...

  4. 在Eclipse中使用JUnit4进行单元测试(初级篇)

    首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除 ...

  5. sql server 替换特殊符号

    --create-- 去掉特殊符号alter function RepSymbol(@str nvarchar(max))returns nvarchar(max)as begin set @str= ...

  6. Unable to find messages file 'cscui.dll' 问题解决

    之前在工作机器上安装VS 2015卡死,结束进程,安装失败一直无法使用,昨天下班开着电脑把VS 2015卸载了,今天早上来,以前正确的项目现在生成都报错 "Unable to find me ...

  7. 树莓派开启root用户

    树莓派系统使用的linux是debian系统,所以树莓派启用root和debian是相同的. debian里root账户默认没有密码,但账户锁定. 当需要root权限时,由默认账户经由sudo执行,R ...

  8. 标签中id和name的作用和区别

    id:作为标签的唯一标识.name:作为可与服务器交互数据的HTML元素的服务器端的标示.

  9. PMIC RTC 寄存器

    RTC_PDN1 bit 0 - 3 : Android bits bit 4 - 5 : Recovery bits (0x10: factory data reset) bit 6 : Bypas ...

  10. Google公布了禁用Chrome插件后的新解决方案

    chrome://flags/#enable-npapi 启用npapi后重启chrome,再打开 chrome://plugins/