解决方案 »

  1.   

    把所有lable的事件都指向同I个事件,可以在事件列表中选择为同一个,也可以动态绑定
    label1.xxx +=  label2_MouseHover;
    label2.xxx +=  label2_MouseHover;
    ...
    labelN.xxx +=  label2_MouseHover;
    sender参数就是要处理的label对象
      

  2.   


    写成一个label   反正你这个排版是可以这样弄的
      

  3.   

    写个自定义的label。这个也不错,自己选个喜欢的方式吧
      

  4.   


    先谢谢版主,我初学,“把所有lable的事件都指向同I个事件,可以在事件列表中选择为同一个”
    这句话我没理解,指的事哪一个事件啊
      

  5.   

    指向同一个事件比较简单 C#这么fashion 小小事 没必要继承 
      

  6.   


    先谢谢版主,我初学,“把所有lable的事件都指向同I个事件,可以在事件列表中选择为同一个”
    这句话我没理解,指的事哪一个事件啊就是创建每个label时都加两个事件,但是事件处理只需写一次,全部用你写好的那两个。
      

  7.   

    我能说WPF实现这些都不用敲代码吗?
      

  8.   

    按住 ctrl 键 之后 选中 你 的lable 选好之后 找到 鼠标移动事件 双击
    之后再那里写代码
      

  9.   

    继承Label 控件,重写MouseHover。
      

  10.   

    label[] labs = new label[]{label1,label2,label3,label4,label5,label6}然后循环给同样的属性,绑定同一个事件
      

  11.   

    我来支持下WPF,一个样式全搞定~
      

  12.   

    两种办法:
    1、长远考虑,做一个累似Lable控件
    2、单独写一个Lable这种功能的实现类,用到的地方就调用这个类下的对应方法。
      

  13.   

    补充 WinForm的话是可以直接改写Lable类的
      

  14.   

    3楼方法不好,如果是动太加载或者就像楼主所说太多了,都要去点事件。上面有人说的继承,是说的你写一个lable的控件,
      

  15.   

    我选选择了label13、label14和label15 双击 MouseHover事件 
    就添加在了 label13的 MouseHover中
    代码如下
     private void label13_MouseLeave(object sender, EventArgs e)
            {
                Font f = new Font("微软雅黑", 11);
                label13.Font = f;
                label14.MouseHover += label13_MouseHover;
                label15.MouseHover += label13_MouseHover;
            }
    结果鼠标放在14和15上 都是13变粗
      

  16.   

    让你的所有Lable都绑定同一事件上面在其他Lable选择MouseHover事件的时候 不要双击  旁边会有下拉框
    拉下来 选择label2_MouseHover 就绑定到了同一事件
      

  17.   

    事件绑定:
    任意添加一个Label的_MouseHover事件。在其他Label的_MouseHover事件的下拉列表中,选择第一个的_MouseHover事件。
    代码:using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void label3_MouseEnter(object sender, EventArgs e)
            {
                MessageBox.Show("");
                BB(sender);
            }
            private void BB(object sender)
            {
                for (int i = 0; i < 3; ++i)
                {
                    foreach (Control ss in this.Controls) 
                    {
                        if (ss.GetType() == typeof(Label)) //按类型查找
                        {
                            if (ss == sender)
                            {
                                ss.Font = new Font("宋体", 20);
                            }
                        }
                    }
                }
            }
        }
    }
      

  18.   


    就是一个绑定事件的问题
     private void label13_MouseLeave(object sender, EventArgs e)
            {
                Font f = new Font("微软雅黑", 11);
                label13.Font = f;
                label14.MouseHover += label13_MouseHover;
                label15.MouseHover += label13_MouseHover;
            }
    是这样写吗
      

  19.   


    就是一个绑定事件的问题
     private void label13_MouseLeave(object sender, EventArgs e)
            {
                Font f = new Font("微软雅黑", 11);
                label13.Font = f;
                label14.MouseHover += label13_MouseHover;
                label15.MouseHover += label13_MouseHover;
            }
    是这样写吗
    楼主问: 1+1等于几啊
    有人回答 : 俩
    有人回答 : 等于2
    .......
    楼主琢磨了一下问:假如数学老师没死, 1+1就等于2是么?