如果combobox内容:
        内宾     itemindex         我        0
         你        1
         他        2 如当前combobox1.itemindex:=1; 
  当用户再combobox1中再次选择了“你” 也就是combobox1.itemindex的值不变,
怎么控制combobox1不激发onnclick事件呢?

解决方案 »

  1.   

    激发OnChange事件,你要做操作的话最好在这里面来做哦
      

  2.   

    我的意思是如果选择了相同的内容,则不执行onchange或onclick的事件。
      

  3.   

    楼主如果真的不想让程序触发Onclikc事件可以用一个全局Boolean变量放在Onclikc事件的开头,并设置一个值判断是否继续执行,例如:
    procedure TForm1.ComboBox1Click(Sender: TObject);
    begin
      if x=False then Exit;   //x为全局Boolean型变量
      …………//做你原来的事情
    end;
      

  4.   

    procedure TForm1.ComboBox1Click(Sender: TObject);
    begin
      if ComboBox1.ItemIndex = 1 then Exit;  
      ...
    end;
      

  5.   

    这样做:定义一个集合,具体看代码implementation
    type tint=set of 0..2;
    var t1:tint;{$R *.dfm}procedure TForm1.ComboBox1Change(Sender: TObject);
    var j:integer;
    begin
      j:=combobox1.ItemIndex;
      if not(j in t1) then
      begin
        showmessage('yes');
        t1:=t1+[j];
      end;
    end;