2013-03-11 4 views
0

winform에 세 가지 확인란이 있습니다. 그들은 모두 마우스 클릭만으로 프로그래밍 방식으로 상태에 대한 변경 사항을 수락하지 않습니다. 왜? 여기CheckBox가 코드의 상태 변경을 허용하지 않습니다.

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

, 우리가 시도 할 것으로 예상하고 정신적 당신을 위해 그것을 디버깅합니다. 나는 그것을 시도 할 것이지만, 당신은 정말로 당신의 질문을 더 완전하게하는 법을 배워야합니다.

내 생각 엔 어딘가에 당신이 게시되지 않은 코드에서, 당신은/수 있도록하고있는 Enable Remote Mode 확인란을 선택 여부에 따라 ClientChkHostChk을 사용하지 않도록 설정하고,이 (당신의 이미지로) 확인하지 때 즉, 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;