C# GUI组面板鼠标事件

C# GUI组面板鼠标事件,c#,.net,user-interface,C#,.net,User Interface,我的表单与GroupBbox MouseeEvents有问题 我正在尝试制作一些GUI小工具(停靠、不透明度…) 这里有一个例子: 我已经将所有(GUI)对象链接到这两个函数 private void MyMouseMove(object sender, MouseEventArgs e) { this.Opacity = 1; } private void MyMouseLeave(object sender, EventArgs e) { this.Opacity = 0

我的表单与GroupBbox MouseeEvents有问题

我正在尝试制作一些GUI小工具(停靠、不透明度…)

这里有一个例子:

我已经将所有(GUI)对象链接到这两个函数

private void MyMouseMove(object sender, MouseEventArgs e)
{
    this.Opacity = 1;
}

private void MyMouseLeave(object sender, EventArgs e)
{
    this.Opacity = 0.5;
}
…除了组面板,因为它们没有
MouseMove
MouseLeave
事件。可以添加它们吗?一个标准的面板也有它们

我真的很喜欢GroupPanels的布局(带有边框和文本),这就是为什么我希望能够用GroupBox解决这个问题


我创建的小工具只有在光标位于表单内部或外部时才会被触发。(不管是处于非活动状态还是活动状态)。除了使用计时器可能是最简单的解决方案之外,可能还有另一种方法来触发它,而不是
MouseMove
MouseLeave

谢谢你链接到这个问题

我可以用下面的示例继续我的项目

public partial class Form1 : Form
{
    private Timer timer1;
    public Form1()
    {
        InitializeComponent();
        this.Opacity = 0.5D;
        timer1 = new Timer();
        timer1.Interval = 200;
        timer1.Tick += timer1_Tick;
        timer1.Enabled = true;
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        if (this.DesktopBounds.Contains(Cursor.Position))
            this.Opacity = 1D;
        else
            this.Opacity = 0.5D;
    }
}

积分转到:

所以当用户进入/离开组框时,您想更改不透明度?GroupPanels,又称GroupBox,确实有这些鼠标事件。问题是,当鼠标进入GroupBox的一个子控件时,它将触发MouseLeave事件。使用计时器可能是最好的解决方案,请参阅。