2 个解决方案
#1
写个通用函数,根据输入参数,分别给不同的edit赋值
fun(type: intger)
begin
if type = 1 then
edit1.text := '1';
if tyep = 2 then2
edit2.text := '2';
end
fun(type: intger)
begin
if type = 1 then
edit1.text := '1';
if tyep = 2 then2
edit2.text := '2';
end
#2
利用控件的tag属性和动态绑定事件,可以写的很通用。
关键点:TEdit.tag 和 TButton.Tag设置成相同值,表示同一组。或者通过控件name取值,按某种规则也行。
关键点:TEdit.tag 和 TButton.Tag设置成相同值,表示同一组。或者通过控件name取值,按某种规则也行。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Button2: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure OnSetValue(sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.OnClick := OnSetValue;
Button2.OnClick := OnSetValue;
//如果有更多控件,继续动态绑定事件
end;
procedure TForm1.OnSetValue(sender: TObject);
var
i: integer;
begin
for i:=0 to ControlCount-1 do
begin
if (Controls[i] is TEdit) and TEdit(Controls[i]).Tag=TButton(sender).Tag then
begin
TEdit(Controls[i]).Text := TButton(sender).Caption+' clicked'; //edit赋值
end;
end;
end;
end.
#1
写个通用函数,根据输入参数,分别给不同的edit赋值
fun(type: intger)
begin
if type = 1 then
edit1.text := '1';
if tyep = 2 then2
edit2.text := '2';
end
fun(type: intger)
begin
if type = 1 then
edit1.text := '1';
if tyep = 2 then2
edit2.text := '2';
end
#2
利用控件的tag属性和动态绑定事件,可以写的很通用。
关键点:TEdit.tag 和 TButton.Tag设置成相同值,表示同一组。或者通过控件name取值,按某种规则也行。
关键点:TEdit.tag 和 TButton.Tag设置成相同值,表示同一组。或者通过控件name取值,按某种规则也行。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Button2: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure OnSetValue(sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.OnClick := OnSetValue;
Button2.OnClick := OnSetValue;
//如果有更多控件,继续动态绑定事件
end;
procedure TForm1.OnSetValue(sender: TObject);
var
i: integer;
begin
for i:=0 to ControlCount-1 do
begin
if (Controls[i] is TEdit) and TEdit(Controls[i]).Tag=TButton(sender).Tag then
begin
TEdit(Controls[i]).Text := TButton(sender).Caption+' clicked'; //edit赋值
end;
end;
end;
end.