2010-03-18 56 views
2

只隐藏我有2种同时视觉形式的C#应用​​程序,我需要隐藏鼠标指针时,它是在他们的只有一个。如果我使用Cursor.Hide(),它会为它们应用更改。的WinForms光标放在一个表格

回答

1

你可以做一个“空白”光标,并设置myForm.Cursor = blankCursor;这将使该特定形式显示特定的光标,这可能是完全透明的。

0

你尝试this.Cursor = Cursors.None,而不是Cursor.Hide()

+1

Cursors.None不存在为有效光标 – Santiago 2010-03-18 17:29:14

+0

-1圣地亚哥的原因。 – JYelton 2011-04-14 19:49:45

+0

该解决方案(不幸)是WPF特有的。显然(虽然未指定)OP要WinForms解决方案。 – 2011-10-26 20:43:49

0

您可以使用Control.MouseEnter和Control.MouseLeave事件触发隐藏或显示光标

3

您需要使用MouseEnterMouseLeave事件各有一个形式类似,以实现这个逻辑:

private void frm1_MouseEnter(object sender, EventArgs e) 
    { 
     Cursor.Hide(); 
    } 
    private void frm1_MouseLeave(object sender, EventArgs e) 
    { 
     Cursor.Show(); 
    } 

做的Abobe应该隐藏光标,这增加应该使窗体在窗体上光标可见:

private void frm2_MouseEnter(object sender, EventArgs e) 
    { 
     Cursor.Show(); 
    } 
+0

我想这感谢,但是,鼠标指针出现在控件的形式 – Santiago 2010-03-18 17:42:42

+0

试穿的frm1取出鼠标离开内......但我不直到进入FRM2 – Luiscencio 2010-03-18 17:53:27

+0

知道光标将被隐藏,甚至到其他窗口这似乎是个好主意,但我不知道为什么有时MouseEnter事件不会在鼠标输入到窗体上时运行,因此,消失并在Windows需要时显示。 – Santiago 2010-03-18 19:34:16

0

如果你隐藏光标,使用户不能在表格上做任何事情,请考虑使用this.UseWaitCursor = true;代替。