方法很多,可以在vForm中定义一个公共变量var K:Integer;procedure vForm.Button1Click(Sender: TObject); begin K:=1; ModalResult:=mrOk; end;procedure vForm.Button2Click(Sender: TObject); begin K:=2; ModalResult:=mrOk; end;…if vForm.ShowModal=mrOK then begin if vForm.K=1 then showmessage('是Button1') else if vForm.K=2 then showmessage('是Button2') ... end;
你把所有按扭都设成mrOk,那总得有个标记区别吧 好吧,不想要变量,那再改进一点点procedure vForm.Button1Click(Sender: TObject); begin tag:=1; ModalResult:=mrOk; end;...if vForm.ShowModal=mrOK then begin if vForm.tag=1 then showmessage('是Button1') else ... end;
begin
K:=1;
ModalResult:=mrOk;
end;procedure vForm.Button2Click(Sender: TObject);
begin
K:=2;
ModalResult:=mrOk;
end;…if vForm.ShowModal=mrOK then
begin
if vForm.K=1 then
showmessage('是Button1')
else if vForm.K=2 then
showmessage('是Button2')
...
end;
ModalResult:=addr(Tbutton(Sender).caption); 这样写 可以吗?
好吧,不想要变量,那再改进一点点procedure vForm.Button1Click(Sender: TObject);
begin
tag:=1;
ModalResult:=mrOk;
end;...if vForm.ShowModal=mrOK then
begin
if vForm.tag=1 then
showmessage('是Button1')
else
...
end;