请看下面的代码:
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key:Char);
begin
if (key=#13) then //当在Edit2中输入密码后,按回车键,执行密码检查
BitBtn1.Click
else
showmessage('错误的用户名或密码!');
end;
为什么当我输入一串字符“123456+回车“时BitBtn1.Click没有效果呢?
...全文
694打赏收藏
为什么没有效果啊?
请看下面的代码: procedure TForm1.Edit2KeyPress(Sender: TObject; var Key:Char); begin if (key=#13) then //当在Edit2中输入密码后,按回车键,执行密码检查 BitBtn1.Click else showmessage('错误的用户名或密码!'); end; 为什么当我输入一串字符“123456+回车“时BitBtn1.Click没有效果呢?
如 fyxi(羲子) 所说的,当你输入123456的时候就触发了onKeyPress事件,因为这些键值都不等于#13所以应该是一直跳出'错误的用户名或密码!'.所以只要:
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key:Char);
begin
if (key=#13) then //当在Edit2中输入密码后,按回车键,执行密码检查
BitBtn1.Click;
end;
就可以了,showmessage('错误的用户名或密码!');放到BitBtn1.Click;去判断
你可以去掉下面哪个ELSE
直接
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key:Char);
begin
if (key=#13) then //当在Edit2中输入密码后,按回车键,执行密码检查
BitBtn1.Click;
end;