以下代码位于OnTimer事件中.如果2个列表框中的项目不匹配 - ShowMessage.我只需要显示一次消息,但由于计时器正在运行,因此消息会在计时器的设置间隔内弹出.我尝试在ShowMessage行之后禁用计时器,但后来甚至会显示该消息.
for i := 0 to ListBox2.Items.Count - 1 do begin
p := ListBox1.Items.IndexOf(ListBox2.Items[i]);
if p = -1 then
ShowMessage('not matching');
end;
Run Code Online (Sandbox Code Playgroud)
谢谢.
我怀疑你所做的是在消息框之后输入enabled:= false.在消息框之前放置enabled:= false,它应该工作:
var
i : integer;
p : integer;
begin
for i := 0 to ListBox2.Items.Count - 1 do begin
p := ListBox1.Items.IndexOf(ListBox2.Items[i]);
if p = -1 then begin
timer1.Enabled := false;
ShowMessage('not matching');
break;
end;
end;
Run Code Online (Sandbox Code Playgroud)
最好的问候,不要
归档时间: |
|
查看次数: |
549 次 |
最近记录: |