CheckListBox可以同时选择多项,但是,现在需要设置为只可以选择一项,绝对不可以选择多项。
如何设置呢?
请多多指教!

解决方案 »

  1.   

    晕,,那你这个为什么不用RadioBox呢?那个才是专业的单选框啊,,CheckListBox 是复选框列表
      

  2.   

    CheckListBox 列表项前面的多选框不能通过改变组件属性和窗口样式变成你说的单选。 这个东西的初衷就是多选吧。 要想变成单选,自己加代码扩展功能吧。
      

  3.   

    写个RadioListBox呗。。
    或者你可以用一组Radiobutton
      

  4.   

    正如上面各位朋友提出的那样,你应该使用TRadioGroup,而不是TCheckListBox,否则,你的程序就会让使用者不习惯(不是在这样场合惯用的控件)。如果仅是探讨使用TCheckListBox时,如何能做到那样子,可以这么做:
    procedure TForm1.CheckListBox1Click(Sender: TObject);
    var i:integer;
        b:boolean;
    begin
      //记住原来的状态:
      b:=TCheckListBox(Sender).Checked[TCheckListBox(Sender).ItemIndex];
      //清空所有的选择:
      for i:= 0 to TCheckListBox(Sender).Items.Count-1 do
        TCheckListBox(Sender).Checked[i]:=false;
      //将被点击的项取反:
      TCheckListBox(Sender).Checked[TCheckListBox(Sender).ItemIndex]:=not b;
    end;
      

  5.   

    radio  才是王道
      

  6.   

    CheckListBox也可以实现单选的效果,不过要写代码:procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
    var
      i,index:integer;
    begin
    index:=CheckListBox1.ItemIndex;if CheckListBox1.Selected[index] then
      for i:=0 to CheckListBox1.Items.Count-1 do
          CheckListBox1.Checked[i]:=i=index;
    end;
      

  7.   

    如果不用RadioBox就自己写代码吧,不难的。
      

  8.   

    嗯 用radio比较好点吧
      

  9.   

    RadioGroup,现成的
      

  10.   

    嗯,虽说CheckListBox可以实现
    但是从专业上来讲就是要用Radio的