我在一个combobox的onkeypress事件里写了一段代码,希望在combobox上按下enter键后执行一个查询,在单步调试时,发现这个事件执行了两遍,后来我发现,写在onclinc里的代码也运行了两次。这是什么原因啊?不会是盗版delphi的问题吧?

解决方案 »

  1.   

    按回车也会触发onkeypass,你是不是这里的问题?
      

  2.   

    自己调试被
    先评比ONClick看是运行效果
    还有是不是你用ONChange了
    如果有这里一定有问题了!
      

  3.   

    没有用onchange.  是这样的
    procedure TFrmFTB.CmboxsortKeyPress(Sender: TObject; var Key: Char);
    begin
     if Cmboxsort.DroppedDown then
        exit;
     if  key=#13 then
       EdtnoKeyPress(sender,key); 
    end;         因为在EdtnoKeyPress(sender,key)中执行一个查询,当没有符合条件的结果时,
    showmessage,运行时发现若没结果时,message就 show了两次,后来才发现这段程序走了两遍。我实在是弄不懂?