我做了一个Delphi程序,在一个文本框中只能输入数字、退格键、小数点,代码如下:
procedure TParamConfigForm.lbledt9KeyPress(Sender: TObject; var Key: Char);
begin
if not((key in ['0'..'9',#8,'.']) ) then // #8 表示在ASCII表中的第8个字符,此处为退格键
begin
Messagebox (0,'输入不是数字或小数点,请重新输入!','警告',MB_ICONEXCLAMATION);
key := #0; // #0 表示在ASCII表中的第0个字符,此处为空字符
end;
end;
可是我在调试时,按住鼠标左键选中文本框中的内容后不放松,然后把鼠标移到文本框之外,这时就产生了文本框的keypress事件,即弹出消息对话框“输入不是数字或小数点,请重新输入!”;或者用鼠标双击文本框时同样也可以触发文本框的keyPress事件。
小弟是新手,请各位前辈们解释一下为什么会这样?小弟不胜感激!
ææ¾å°åå äºï¼åæ¥æ¯æççµèé®é¢ï¼
ææç¨åºæ·å°å«ççµèä¸è¿è¡æ²¡æä»»ä½é®é¢ï¼ä½æ¯å¨æççµèä¸è¿è¡å°±ä¸è¡ï¼ä¸ç¥éæ¯ä¸æ¯å 为æçµèæ¯ç¬è®°æ¬çåå è¿æ¯ä»ä¹çï¼æç°å¨ä¸ç¥éæä¹è§£å³è¿ä¸ªé®é¢ï¼ä¸è¿æä¼è¯ä¸ä¸ä½ 说çæ§ä»¶ï¼è°¢è°¢ä½ äºï¼
我看了,没有ONDbclick事件和ONdragdrop事件,只有onkeypress事件!
追答比较奇怪,是个诡异的问题
追问我把程序拷到别的电脑上运行没有任何问题,但是在我的电脑上运行就不行!不知道是不是因为我电脑是笔记本的原因还是什么的,我现在不知道怎么解决这个问题,
追答你再拷别的机器上,如果两三台机器都是没问题的话,就先别管它了,先做,等全做完了再说