Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 1
Регистрация: 15.01.2014
Сообщений: 19

Управление указателем мыши

22.03.2014, 13:23. Показов 3399. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Можно ли как-нибудь ограничить скорость движения указателя мыши на форме. То есть мне нужно чтобы при движении мыши, указатель двигался по форме не превышая определённую скорость.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.03.2014, 13:23
Ответы с готовыми решениями:

Изменение размера формы указателем мыши при FormBorderStyle = None;
День добрый, возникла небольшая проблема:) Есть форма границы в форме отключены FormBorderStyle = None; необходимо в ручную обработать...

Управление мышкой (эмуляция мыши)
Добрый день, создал отдельную ветку, где надеюсь будут собраны все ответы))) Нужно сделать полную эмуляцию мышки, нажатие кнопок и...

Управление указателем мыши
Доброго времени суток! Есть устройство, которое посылает координаты для курсора в некоторый файл. Как заставить курсор перемещаться в...

3
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
22.03.2014, 13:38
Gasik, теоретически можно. Отлавливаешь событие перемещения мыши и пишешь в переменные координаты и время. При следующем возникновении события проверяешь превысило ли время между событиями допустимое, если не превысило, то возвращаешь курсор на ранее сохранённые координаты.

Не по теме:

Только вот зачем это? Зачастую пользователи сами тупят так, что их хочется пинками ускорить, а ты наоборот хочешь их ограничить... :scratch:

0
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
23.03.2014, 03:11
Скорее всего-нет... Ибо у свойства в событии MouseMove в параметре MouseEventArgs e.X и e.Y доступ идёт только для получения. Т.е. менять координаты текущего указателя нельзя.
Хотя, может это можно сделать как то, другим способом(не через события, а как то, через стандартные свойства формы)...
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        Int32 X = new Int32();
        Int32 Y = new Int32();
        public Form1()
        {
            X = -1;
            Y = -1;
            InitializeComponent();
            this.MouseMove += Form1_MouseMove;
        }
 
        void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (X < 0) X = e.X;
            if (Y < 0) Y = e.Y;
            if (e.X - 5 != X || e.Y - 5 != Y)
            {
                e.X -= 2;//-И вот здесь ошибка, что доступ к e.X может осуществляться только для получения этих данных, а не для редактирования
                e.Y -= 2;//-Аналогично и в Y
            }
        }
    }
}
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
23.03.2014, 15:06
Зачем такие сложности, когда есть SystemParametersInfo() http://msdn.microsoft.com/en-u... s.85).aspx

Delphi
1
SystemParametersInfo(SPI_SETMOUSESPEED, 0, pointer(val), SPIF_SENDCHANGE)
Отслеживать положение указателя мыши над формой через getcursorpos() в потоке или таймере и если положение в пределах формы - уменьшать текущую, за пределами восстанавливать:
Delphi
1
SystemParametersInfo(SPI_SETMOUSESPEED, 0, Pointer(val div 4), SPIF_SENDCHANGE)
При создании приложения запомнить текущую скорость с флагом SPI_GETMOUSESPEED, при закрытии приложения восстановить с флагом SPI_SETMOUSESPEED.

Пример такого приложения:
Вложения
Тип файла: zip raxp_freeze_speed_mouse.zip (200.5 Кб, 17 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.03.2014, 15:06
Помогаю со студенческими работами здесь

Управление указателем мыши на удаленном компьютере в локальной сети. Ошибки
Доброго времени суток! Подскажите пожалуйста новичку, в чем проблема? Делаю приложение, позволяющее управлять указателем мыши на...

Перенос фокуса мыши в начало маски ввода, при переходе в поле указателем мыши
Добрый день. Как перенести фокус мыши программно, в начало маски ввода (предположим маска ввода № телефона), при переходе в поле, с...

Управление указателем
Есть небольшая база данных в MS Access собсна нужно заставить кнопочки управлять курсором. По идее это должно выглядеть так: void...

Проблема с указателем мыши
Указатель мыши в AltLinux5.0 при запуске убегает в левый верхний угол и категорически не желает оттуда уходить. На компе две системы -...

Управление стрелочным указателем
Имеются указатели уровня топлива и температуры из автомобильной приборки. 3 вывода: +12, масса и дата. С &quot;дата&quot; выходит 12В на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru