CheckListChange多選互斥事件的運用

2021-08-30 16:07:16 字數 648 閱讀 8152

在實際業務中,存在多選框,當選擇『無』的時候其他的框是不能選擇的,當選擇其他的時候『無』的選項要自動清除,方法如下:

procedure tform.checklistboxchange(sender: tobject;

index: integer; newstate: tcheckboxstate);

var i:integer;

begin

inherited;

if index = 0 then

begin

if tchecklist(sender).itemchecked[index] then

begin

for i := 1 to tchecklist(sender).count -1 do

begin

tchecklist(sender).itemchecked[i] := false;

end;

end;

endelse

begin

if tchecklist(sender).itemchecked[0] then

tchecklist(sender).itemchecked[0] := false;

end;

end;

這樣就可以實現互斥的效果。

互斥同步 臨界區,互斥量,訊號量,事件的區別

四種程序或執行緒同步互斥的控制方法 1 臨界區 通過對多執行緒的序列化來訪問公共資源或一段 速度快,適合控制資料訪問。2 互斥量 為協調共同對乙個共享資源的單獨訪問而設計的。3 訊號量 為控制乙個具有有限數量使用者資源而設計。4 事 件 用來通知執行緒有一些事件已發生,從而啟動後繼任務的開始。臨界區...

Mutex與Event控制互斥事件的使用詳解

最近寫一程式,誤用了mutex的功能,錯把mutex當event用了。mutex 使用mutex的主要函式 createmutex releasemutex openmutex waitforsingleobject waitformultipleobjects。event 與mutex不一樣,ev...

zepto mui開發中的tap事件重複執行

zepto.js和mui一起使用的時候,因為都有tap事件繫結tab事件後會多次觸發還會報錯,這時不引用zepto中的touch.js就可以了,只用mui的tap相關事件。1 function 12 13 14 test on tap function 1718 test on longtap fu...