winform 给Panle(控件)添加事件其子控件也相应父控件的事件

这篇博客探讨了如何在C#中处理控件的鼠标离开和鼠标移动事件,以及如何设置控件的样式。`EventStyle`方法用于改变控件背景色和光标,`RemoveControlEvent`确保在添加新事件前移除已有事件。通过`EventMethod`批量应用这些事件到面板及其子控件上,实现统一的交互效果。
private void plSetting_MouseLeave(object sender, EventArgs e)
        {
            EventStyle(sender);
        }
private void plSetting_MouseMove(object sender, MouseEventArgs e)
        {
            EventStyle(sender, true);
        }

先写好事件

private void EventStyle(object sender, bool ev = false)
        {
            Control cl = sender as Control;
            Panel pl = cl is Panel ? cl as Panel : cl.Parent as Panel;
            if (ev)
            {
                pl.BackColor = Color.FromArgb(193, 210, 238);
                pl.Cursor = Cursors.Hand;
            }
            else
            {
                pl.BackColor = Color.White;
            }
        }

给控件添加样式

public void RemoveControlEvent(Control control, string eventName)
        {
            FieldInfo _fl = typeof(Control).GetField(eventName, BindingFlags.Static | BindingFlags.NonP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值