非法表达:if,then,else语句

1 delphi pascal

我不明白这段代码有什么问题:

procedure WebBrowserForm.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked = true then
    Button1.Enabled = true else
    Button1.Enabled = false;
end;
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我吗?

Mar*_*ynA 9

你的代码应该是

procedure WebBrowserForm.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked = true then
    Button1.Enabled := true else
    Button1.Enabled := false;
end;
Run Code Online (Sandbox Code Playgroud)

在Delphi中,赋值运算符是:=,而=不是比较运算符.

顺便说一句,您可以更简单地编写代码

procedure WebBrowserForm.CheckBox1Click(Sender: TObject);
begin
  Button1.Enabled := CheckBox1.Checked;
end;
Run Code Online (Sandbox Code Playgroud)