Курсор WinForms скрыт только в одной форме - PullRequest
2 голосов
/ 18 марта 2010

У меня есть приложение на C # с двумя одновременно видимыми формами, и мне нужно скрыть курсор мыши, когда он заканчивается только на одной из них. Если я использую Cursor.Hide (), он применяет изменения для них обоих.

Ответы [ 5 ]

3 голосов
/ 18 марта 2010

Вам необходимо реализовать эту логику, используя события MouseEnter и MouseLeave, каждое из которых имеет форму:

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

сделать або в форме, которая должна скрыть курсор, и добавить это к форме, которая должна сделать курсор видимым:

    private void frm2_MouseEnter(object sender, EventArgs e)
    {
       Cursor.Show();
    }
1 голос
/ 18 марта 2010

Вы можете сделать «пустой» курсор и установить myForm.Cursor = blankCursor; Это заставит эту конкретную форму показывать определенный курсор, который может быть полностью прозрачным.

0 голосов
/ 18 марта 2010

Если вы скрываете курсор, чтобы пользователь ничего не мог сделать в форме, рассмотрите возможность использования this.UseWaitCursor = true;.

0 голосов
/ 18 марта 2010

Вы можете использовать события Control.MouseEnter и Control.MouseLeave, чтобы вызвать скрытие или отображение курсора

0 голосов
/ 18 марта 2010

Вы пробовали this.Cursor = Cursors.None вместо Cursor.Hide()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...