GUI组面板鼠标事件

时间:2013-05-31 12:08:17

标签: c# .net user-interface

我的表单存在GroupBbox MouseEvents的问题。

我正在尝试制作一些GUI小工具(对接,不透明......)。

以下是一个例子:

Picute

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

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

private void MyMouseLeave(object sender, EventArgs e)
{
    this.Opacity = 0.5;
}

..期待小组讨论,因为他们没有MouseMoveMouseLeave个事件。他们可以加入吗?标准小组也有它们。

我非常喜欢GroupPanels的布局(带有边框和文本),这就是我希望能够用GroupBox解决这个问题的原因。

如果光标位于表单内部或外部,则只会触发我创建的小工具。 (如果不活动或活动则无关紧要)。也许有另一种触发方法,而不是MouseMoveMouseLeave

1 个答案:

答案 0 :(得分:0)

使用计时器可能是最简单的解决方案! 感谢您LarsTech链接到此 'Winform - determine if mouse has left user control'问题。

我可以通过以下示例继续我的项目。

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;
    }
}

积分转到:Hans Passant