简述文本框的change与keypress事件的区别

 我来答
殿宇枫5087
2017-04-07 · 超过193用户采纳过TA的回答
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:141万
展开全部
你可以输入之后判断,就是在你点击按钮的时候进行判断,一般都是这样处理的;

当然也可以在正在输入的时候判断,假如输入的不是在定义范围之内就把它清除掉;
你想实现的就是后者,我写的代码如下:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', '.',#8]) then //#8 backspace不允许输入数字和退格键以外的
begin
Key := #0;
end
else
if Length(Edit1.Text)=0 then //第一位只能是0或1
begin
if not (Key in ['0', '1',#8]) then
begin
Key := #0;
end
end
else
if Length(Edit1.Text)=1 then//第2位只能为小数点
begin
if not (Key in ['.',#8]) then
begin
Key := #0;
end
end
else
if Length(Edit1.Text)>3 then//不能输入3位以上长度,如0.123
begin
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式