winform 中怎么处理lable 使得点击lable时字体颜色改变 点击其他lable时颜色恢复呢!?

解决方案 »

  1.   

     private void label1_Click(object sender, EventArgs e)
            {
                this.label1.ForeColor = Color.Red;
            }
      

  2.   

    有点麻烦: mousemove在鼠标快速离开时其代码没有被执行,只有鼠标慢慢离开时才起作用.
      

  3.   

    不知道LZ 是干什么用,要是只为了好看的话为什么不去用DevComponents.DotNetBar呢,
    如果是为了某个功能的话,,就自己想啦,
    我是不太会
      

  4.   


    如果是一两个label的话此方法可以实现,如果是有十几个呢?? 用这个方法就很吃力了!!private void label20_Click(object sender, EventArgs e)
            {
                pnlShareHouse.Visible = false;
                lblTime.Visible = false;
                label1.Visible = false;
                label3.Visible = false;
                pictureBox1.Visible = false;
                pictureBox2.Visible = false;
                llklblMyHouse.Visible = false;
                llklblShareHouse.Visible = false;
                pnlSaleHouseSearch.Visible = false;            this.lblPerson.ForeColor = Color.Black;
                this.lblShare.ForeColor = Color.White;
                this.lblHelp.ForeColor = Color.White;
            }
     private void label20_Click_1(object sender, EventArgs e)
            {
                pnlShareHouse.Visible = true;
                this.lblShare.ForeColor = Color.Black;
                this.lblPerson.ForeColor = Color.White;
                this.lblHelp.ForeColor = Color.White;
            }        private void lblHelp_Click(object sender, EventArgs e)
            {
                this.lblShare.ForeColor = Color.White;
                this.lblPerson.ForeColor = Color.White;
                this.lblHelp.ForeColor = Color.Black;
      

  5.   

    也不吃力啊,点击label事件时先全部使label恢复默认颜色,再判断当前点击的label使之变色,很快的,几乎察觉不到
      

  6.   

    不需要加system。Drawing 的命名空间吗?
      

  7.   

    所有lable出发一个单击事件  通过每隔lable的 组名来区分那个空间出发的时间 组名就是控件的名字 然后就直接控件明.color=   每次出发事件的时候将lable进行下初始化  初始化成灰的
      

  8.   

    用panel分隔需要颜色转换的label,点击事件里改变一label颜色,同时将panel其它label颜色复原!!