如果选中复选框,如何将自动值插入编辑组件
How to insert automatic values to an edit component if a checkbox is checked
我在表单中有一个 edit1 和一些 checkbox1 直到 checkbox6。我想在 edit1 组件中插入值,例如单击 checkbox1 时的 1 月,单击 checkbox2 时的 2 月......直到 checkbox6 的 6 月。如果未选中复选框,则 edit1 不应具有相应的值。例如,如果选中了 checkbox1、checkbox2 和 checkbox3,我应该在 edit1 中有像 January february march 这样的值。但是,如果我取消选中 checkbox2,edit1 中的值应该是一月和三月。如果复选框的 none 被选中,则 edit1 不应有任何值。我如何在 Delphi 7 中执行此操作?
为所有 6 个 TCheckBox
控件分配一个 OnClick
事件处理程序,并让它检查所有 6 个 TCheckBox
状态并相应地更新 TEdit
,例如:
procedure TMyForm.CheckBoxClick(Sender: TObject);
var
S: String;
procedure IncludeMonth(const MonthName: String);
begin
if S <> '' then
S := S + ', ' + MonthName
else
S := MonthName;
end;
begin
if CheckBox1.Checked then IncludeMonth('January');
if CheckBox2.Checked then IncludeMonth('February');
if CheckBox3.Checked then IncludeMonth('March');
if CheckBox4.Checked then IncludeMonth('April');
if CheckBox5.Checked then IncludeMonth('May');
if CheckBox6.Checked then IncludeMonth('June');
Edit1.Text := S;
end;
或者:
procedure TMyForm.CheckBoxClick(Sender: TObject);
var
Months: TStringList;
begin
Months := TStringList.Create;
try
if CheckBox1.Checked then Months.Add('January');
if CheckBox2.Checked then Months.Add('February');
if CheckBox3.Checked then Months.Add('March');
if CheckBox4.Checked then Months.Add('April');
if CheckBox5.Checked then Months.Add('May');
if CheckBox6.Checked then Months.Add('June');
Edit1.Text := Months.CommaText;
finally
Months.Free;
end;
end;
我在表单中有一个 edit1 和一些 checkbox1 直到 checkbox6。我想在 edit1 组件中插入值,例如单击 checkbox1 时的 1 月,单击 checkbox2 时的 2 月......直到 checkbox6 的 6 月。如果未选中复选框,则 edit1 不应具有相应的值。例如,如果选中了 checkbox1、checkbox2 和 checkbox3,我应该在 edit1 中有像 January february march 这样的值。但是,如果我取消选中 checkbox2,edit1 中的值应该是一月和三月。如果复选框的 none 被选中,则 edit1 不应有任何值。我如何在 Delphi 7 中执行此操作?
为所有 6 个 TCheckBox
控件分配一个 OnClick
事件处理程序,并让它检查所有 6 个 TCheckBox
状态并相应地更新 TEdit
,例如:
procedure TMyForm.CheckBoxClick(Sender: TObject);
var
S: String;
procedure IncludeMonth(const MonthName: String);
begin
if S <> '' then
S := S + ', ' + MonthName
else
S := MonthName;
end;
begin
if CheckBox1.Checked then IncludeMonth('January');
if CheckBox2.Checked then IncludeMonth('February');
if CheckBox3.Checked then IncludeMonth('March');
if CheckBox4.Checked then IncludeMonth('April');
if CheckBox5.Checked then IncludeMonth('May');
if CheckBox6.Checked then IncludeMonth('June');
Edit1.Text := S;
end;
或者:
procedure TMyForm.CheckBoxClick(Sender: TObject);
var
Months: TStringList;
begin
Months := TStringList.Create;
try
if CheckBox1.Checked then Months.Add('January');
if CheckBox2.Checked then Months.Add('February');
if CheckBox3.Checked then Months.Add('March');
if CheckBox4.Checked then Months.Add('April');
if CheckBox5.Checked then Months.Add('May');
if CheckBox6.Checked then Months.Add('June');
Edit1.Text := Months.CommaText;
finally
Months.Free;
end;
end;