procedure TForm2.Edit1Change(Sender: TObject); var str:string; i:integer; begin str:=''; str:=Edit1.Text; if (Length(str)>0) then if (not((str[Length(str)])in['0'..'9','A'..'Z',#8]))or(Length(str)>6) then begin Edit1.Text:=LeftStr(Str,Length(str)-1); end; Edit1.SelStart:=Length(Edit1.Text); if Length(str)>=6 then Edit2.SetFocus; end;没有,方法同楼主 看来没说清楚,我的意思是Edit2Change这个事件不用写也可以实现,即用Edit1Change的事件直接调用,应该怎么改 只能这样判断每个字符和长度,然后设置其他控件的焦点