doNet中,(委托?)关于同样的控间,要求有同样的操作简单的做法

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:04:22
题目写的很奇怪 其实只是一个小问题 想问一下做法
具体如下:

比如我有10个Label,分别是从label1 -- label10
我想让他们都有这样的功能
鼠标移动到这个label上面的时候,相应的label就执行相应的操作
比如鼠标移动到label2上,label2改变颜色. 鼠标移动到label3上,label3改变颜色
不知道有没有什么简单的做法 让我不要对每一个label的mouseEnter事件添加类似的相应,这样太烦琐.希望能通过一个统一的函数对他们进行统一的修改...

问的是不是有点抽象...希望有人能回答 谢谢 要详细.

你重写一下Label不就完了
public class MyLabel:Label
{
protected override void OnMouseEnter(EventArgs e)
{
this.BackColor = Color.Blue;
base.OnMouseEnter(e);
}

protected override void OmMouseLeave(EventArgs e)
{
this.BackColor = Color.Empty;
base.OnMouseLeave(e);
}
}

Ok了

把1-10全部丢一个集合里去,然后foreach添加事件

自己做个控件,把要用的Lable丢进去,然后在这个控件的load事件里遍历所有控件,给所有lable控件添加mouseEnter事件