【发布时间】:2011-01-29 03:25:16
【问题描述】:
我有一个具有 2 个同时可见的窗体的 C# 应用程序,当鼠标光标仅在其中一个上结束时,我需要隐藏鼠标光标。如果我使用 Cursor.Hide() ,它将对它们都应用更改。
【问题讨论】:
我有一个具有 2 个同时可见的窗体的 C# 应用程序,当鼠标光标仅在其中一个上结束时,我需要隐藏鼠标光标。如果我使用 Cursor.Hide() ,它将对它们都应用更改。
【问题讨论】:
您需要通过使用MouseEnter 和MouseLeave 事件来实现此逻辑,每个事件的形式如下:
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();
}
【讨论】:
您可以制作一个“空白”光标,并设置myForm.Cursor = blankCursor; 这将使该特定表单显示一个特定的光标,它可以是完全透明的。
【讨论】:
您是否尝试过this.Cursor = Cursors.None,而不是Cursor.Hide()?
【讨论】:
您可以使用 Control.MouseEnter 和 Control.MouseLeave 事件来触发隐藏或显示光标
【讨论】:
如果您隐藏光标以使用户无法在表单上执行任何操作,请考虑改用this.UseWaitCursor = true;。
【讨论】: