如何在Delphi中使用复选框?

时间:2009-03-19 05:59:38

标签: delphi tcheckbox

现在,我有代码:

begin
If odd(GetAsyncKeyState(VK_snapshot)) then
If CheckBox1.Checked then
begin

然后继续使用剩下的代码。这是正确的做法,还是我做错了?

3 个答案:

答案 0 :(得分:11)

您建议的是确定是否选中复选框的完全合法方式。这样做的代码可能看起来像

if checkBox.Checked then begin
    //do whatever needed for checked checkbox
end

或者像这样

if checkBox.Checked then begin
    //do whatever needed for checked checkbox
end else begin
    //do whatever needed for unchecked checkbox
end

请记住,您从Checked属性获得的值对应于您获取值时复选框的状态。

答案 1 :(得分:0)

if DT.FieldByName('name_of_checkbox').AsBoolean=True then begin ..... end;
// In this case dt is TADOquery that you had used in your program.

答案 2 :(得分:-1)

因为您使用了2个if语句,所以您也可以将它们组合成一个:

if odd(GetAsyncKeyState(VK_snapshot)) and CheckBox1.Checked then
begin
  ...
  ...
end;

if语句的第二部分(checkbox1.Checked)只有在第一部分评估为True时才会被评估。 (因为Delphi使用Short-circuit evaluation