我的表单存在GroupBbox MouseEvents的问题。
我正在尝试制作一些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
。
答案 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