CheckBox不接受代码中的状态更改

时间:2013-03-11 14:45:43

标签: .net winforms checkbox oxygene

在winform上我有三个不同的复选框。他们都不会以编程方式接受对其状态的任何更改,只能通过鼠标单击。为什么呢?

enter image description here

以下是我在代码中设置状态的方法:

 if i=1 then
  ClientChk.Checked := true
 else
  ClientChk.Checked := false;

 if i = 2 then
  HostChk.Checked := true
 else
  HostChk.Checked := false;

1 个答案:

答案 0 :(得分:1)

您发布的代码没有上下文,并希望我们尝试为您精神调试它。我会试一试,但你真的需要学会让你的问题更加完整。

我的猜测是,在您未发布的代码中的某个位置,您根据是否选中ClientChk框以及何时选中HostChkEnable Remote Mode来启用/停用未选中(如图片中所示),ClientChkHostChk按钮被禁用。快速浏览代码(或使用调试器)可以很快地告诉您是否存在问题。

您可以稍微改进一下代码,BTW(并根据EnableRemoteChk的值处理启用/禁用它们:

ClientChk.Enabled := EnableRemoteChk.Checked;
HostChk.Enabled := ClientChk.Enabled;
if ClientChk.Enabled then
begin
  ClientChk.Checked := (i = 1);
  HostChk.Checked := (i = 2);
end;