ibcadmin 发表于 2014-5-7 10:31:14

c#找Panel父容器内的所有控件

楼主昨天刚好做了个这么功能, 把代码贴上来。

/// <summary>
      /// 通过panel找Lable和img
      /// </summary>
      /// <param name="p">panel</param>
      /// <param name="type">1移上 2移出</param>
      public void PanelFindLableAndImg(Panel p, int type)
      {
            foreach (var item in p.Controls)
            {
                if (item is Label)
                {
                  Label lb = (Label)item;
                  if (type == 1)
                  {
//鼠标移上去 变白色
                        lb.ForeColor = Color.White;
                  }
                  else
                  {
//移除去 变自定义颜色
                        lb.ForeColor = Color.FromArgb(32, 31, 53);
                  }
                }
                if (item is PictureBox)
                {
                  PictureBox pb = (PictureBox)item;
                  if (type == 1)
                  {
//移上去换图
                        pb.Image = Image.FromFile(@"../../UIimg/13/bai_sanjiao.gif");
                  }
                  else
                  {
//移出去换图
                        pb.Image = Image.FromFile(@"../../UIimg/13/hei_sanjiao.gif");
                  }
                }
            }
      }


楼主做的这个功能主要是 鼠标移到Panel容器中的时候 ,他的所有子控件都被变换,移除去时也一样


楼主在Panel的子控件 就只有两个, 一个label , 一个PictureBox , 大家的可能跟我不一样,


所以注意两点


if (item is PictureBox)//这里判断   把PictureBox换成你的控件类型

PictureBox pb = (PictureBox)item;   // 并且把item转成你的控件类型




飞/可爱朋 发表于 2014-5-7 23:19:04

soga
页: [1]
查看完整版本: c#找Panel父容器内的所有控件