我想用自定义控件做一个类似listbox的效果。
涉及到两个自定义控件,第一个是项控件,有一个枚举:鼠标经过,正常,选择。如图:第二个是如listbox一样,里边添加第一个项控件:
现在的问题是:如何当一个项目为选中的时候,让其他项目选中项转换为正常。我的思路是设定一个第一个控件的变量,当选中的时候可以把选中项赋值到设定的变量中,当再次点击的根据设定的变量改变
对应的状态,再赋值,再改变状态,
但是不会做了,不知道这样行不行,我不会赋值控件的变量了,
请大家帮忙想想思路

解决方案 »

  1.   

    数据结构里对应一个bool isSelected,改变状态后重画。true状态的,使当前行背景色突出一下就可,可根据情况决定是否支持多选。
      

  2.   

    gridview中单元格可使用onckick等事件
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)   
      {   
      if (e.Row.RowType == DataControlRowType.DataRow) {   
      e.Row.Attributes.Add("onmouseover", "e=this.style.backgroundColor; this.style.backgroundColor='#cccccc'");   
      e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=e");   
      }   
      }   
    table表格也可设置td样式
      

  3.   

    有项目开发管理经验的.NET的朋友加上限500人的QQ群28720769一起交流。