WinForms cursor hidden only on one Form
I have a C# application with 2 simultaneou开发者_JAVA技巧s visible forms, and I need to hide mouse cursor when it is over only on one of them. If I use Cursor.Hide() it applies the change for both of them.
You need to implement this logic by using the MouseEnter
and MouseLeave
events one each form something like:
private void frm1_MouseEnter(object sender, EventArgs e)
{
Cursor.Hide();
}
private void frm1_MouseLeave(object sender, EventArgs e)
{
Cursor.Show();
}
do the abobe on the form that should hide the cursor and add this to the form that should make the cursor visible:
private void frm2_MouseEnter(object sender, EventArgs e)
{
Cursor.Show();
}
You can make a "blank" cursor, and set myForm.Cursor = blankCursor;
This will make that specific form show a specific cursor, which could be completely transparent.
Did you try this.Cursor = Cursors.None
, instead of Cursor.Hide()
?
You could use the Control.MouseEnter and Control.MouseLeave events to trigger hiding or displaying the cursor
If you're hiding the cursor so that the user can't do anything on the form, consider using this.UseWaitCursor = true;
instead.
精彩评论