2012-01-23 2 views
1

В моем приложении Windows я хочу скрыть, а также отключить любое движение мыши, потому что я обрабатываю его из своего приложения. Я могу установить положение курсора на точку, но если пользователь перемещает мышь, он меняет положение.Как отключить движение мыши в C#

Как я могу остановить ввод данных от перемещения мыши?

+0

Его не дублирующие просто попытаться понять функциональность secanario. – Abhishek

ответ

2

Cursor.Hide() способ. Он по-прежнему будет подвижным, но скрытым. Вы также можете обработать событие MouseMove и установить Cursor.Position.

+0

Этот метод только для того, чтобы скрыть курсор, что не означает, что движение курсора отключено .. – Abhishek

+0

Как я писал: «Он по-прежнему будет подвижным, но скрытым» .. :) –

+0

Какое пространство имен вы используете? У моего курсора нет позиции. –

3

Внесите свою форму в эксплуатацию IMessageFilter. затем используйте следующий код в форму, чтобы скрыть курсор, но убедитесь, что мыши правый/левый щелчок отключается слишком

Rectangle BoundRect; 
    Rectangle OldRect = Rectangle.Empty; 

    private void EnableMouse() 
    { 
     Cursor.Clip = OldRect; 
     Cursor.Show(); 
     Application.RemoveMessageFilter(this); 
    } 
    public bool PreFilterMessage(ref Message m) 
    { 
     if (m.Msg == 0x201 || m.Msg == 0x202 || m.Msg == 0x203) return true; 
     if (m.Msg == 0x204 || m.Msg == 0x205 || m.Msg == 0x206) return true; 
     return false; 
    } 
    private void DisableMouse() 
    { 
     OldRect = Cursor.Clip; 
     // Arbitrary location. 
     BoundRect = new Rectangle(50, 50, 1, 1); 
     Cursor.Clip = BoundRect; 
     Cursor.Hide(); 
     Application.AddMessageFilter(this); 
    } 

см: Disabling mouse movement and clicks altogether in c#

+0

Благодаря ответу, но его только скрыть курсор, он не отключит движение мыши. – Abhishek

+1

на самом деле это должно держать мышь в координатах: '[50,50]' экрана. – annonymously

+0

Не следует ли присвоить этот код из источника, из которого вы его скопировали? См. [Отключение движения мыши и клики в целом в C#] (http://stackoverflow.com/a/2698843/719186) – LarsTech

Смежные вопросы