C#中 listBox控件 选定listbox中的某一项后,就将该选定的项改变颜色,而且该项不可在选取,该如何实现啊?

解决方案 »

  1.   

    C#中 listBox控件 选定listbox中的某一项后,就将该选定的项改变颜色,而且该项不可在选取,该如何实现啊?现在不是要多选,现在只能选定一项,选定之后就不可以再选了,如何实现,各位大哥大姐教教小弟啊!!!
      

  2.   

    选了不能再选?那选了之后(OnSelectIndexChange事件)把ListBox的Enable属性="False"不就行了?不过哪有人选了还不让别人修改选择的权利,万一点错不就完了?
      

  3.   

    建议你改用ListView,这样实现你的功能就容易多了!
      

  4.   

    先重写ListView(SelectedIndexChanged事件):
    .....
    protected override void OnSelectedIndexChanged(EventArgs e)
    {
      if(this.SelectedItems.Count == 0) return;  if(this.SelectedItems[0].BackColor.ToArgb == Color.Red.ToArgb) 
      {
        this.SelectedItems.Clear();//已设置此颜色就取消选择
        return;
      }  base.OnSelectedIndexChanged (e);
      
      this.SelectedItems[0].BackColor = Color.Red;
      //...更多设置
    }编译后添加到窗体。如果不重写ListView,则直接处理ListView.SelectedIndexChanged事件
      

  5.   

    在listbox中改变颜色不难。首先设this.listBox1.DrawMode = DrawMode.OwnerDrawFixed;
    然后在listBox1的DrawItem事件中处理就可以了。你查看一下DrawItem的帮助,应该就很清楚了。