簡體   English   中英

取消選中 TCheckListBox 中的所有復選框

[英]Uncheck all checkboxes in a TCheckListBox

我希望用戶能夠按下按鈕將 TCheckListBox 重置為其初始 state (沒有選中任何框)。

請參閱下面的圖片,了解單擊按鈕后我想要發生的事情:

TCheckBoxList 中的多個復選框

變成:

沒有選中任何框

我將如何 go 這樣做? 我知道可能會涉及到一個循環,但我不確定從哪里開始。 我在這里先向您的幫助表示感謝。

有很好的方法 - 查看官方幫助。

如果我們打開 TCheckListBox 幫助頁面,選擇方法並過濾掉“繼承”的,我們將看到CheckAll 方法

CheckListBox1.CheckAll(cbUnchecked);

對於單個復選框(錯過了這是一個 TCheckListBox)。

沿着這些思路,

假設復選框位於名為panel1的面板上。

var n: Integer;
begin
  for n := 0 to panel1.ComponentCount - 1 do 
     if panel1.Components[n] is TCheckbox then 
        Tcheckbox(panel1.components[n]).checked := False;
end; 

注意:如果復選框有關聯的事件,修改前需要先將事件設為nil,之后再返回事件——否則,事件會像點擊框一樣觸發。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM