我自己写的:

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. linux 内核源代码

    https://www.kernel.org/      源码地址 http://www.centos.org/download/   系统地址 http://www.collab.net/downl ...

  2. WCF服务客户端首页调用慢的问题处理

    场景: WCF服务架设于IIS服务中,走TCP协议.客户端首次调用特别慢,第一次加载完后,都正常. 解决: 把服务中需要序列化的模型所在的工程 > 属性 > 生成 > 生成序列化程序 ...

  3. Zedboard安装桌面系统ubuntu及opencv(1)

    最近一直在搞板子,想帮Zedboard安装一个opencv谁知道困难重重,而且网络几乎没有任何资料可以参考,只有陆佳华的<嵌入式软硬件协同设计实战指南>可以参考. 但是这本书讲得不清不楚, ...

  4. createjs easal.js制作了一个很简单的链路图

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  5. centos7 firewall 防火墙

    在部署dubbo-monitor 和dubbo-admin zookeeper时候,外部访问不了部署好的服务,因为端口问题 ,现在把端口操作总结一下 参考: http://www.cnblogs.co ...

  6. sublime text 3 license 2016.05

    补充:2016.05 最近经过测试,3个注册码在新版3103的sublime上已经不可用了. 现补充两枚新版的license key: -– BEGIN LICENSE -– Michael Barn ...

  7. 安装centOS分区的图解记录

    要将linux的boot loader安装在MBR上,才能起到多重引导的作用.

  8. VS 远程调试之 “The visual studio remote debugger does not support this edition of windows”

    The error message "The visual studio remote debugger does not support this edition of windows&q ...

  9. mvc ajax csrf

    http://www.cnblogs.com/zhyp/p/5556980.html http://www.asp.net/web-api/overview/security/preventing-c ...

  10. Modelsim-altera 仿真 顶层原理图的解决办法

    解决办法:首先需要将.bdf原理图文件转换为Verilog HDL等第三方EDA工具所支持的标准描述文件.在Quartus下,保持*.bdf为活动窗口状态,运行[File]/[Create/Updat ...