- Устранение двойного клика у компьютерной мыши
- Способ 1: Настройка скорости двойного клика
- Способ 2: Отключение двойного клика
- Способ 3: Переустановка драйверов
- Способ 4: Продув мыши сжатым воздухом
- Способ 5: Ручная чистка мыши
- Control. Double Click Событие
- Определение
- Тип события
- Примеры
- Комментарии
- Примечания для тех, кто наследует этот метод
- Responding to Mouse Clicks
- Mouse Coordinates
- Additional Flags
- Double Clicks
- Non-client Mouse Messages
Устранение двойного клика у компьютерной мыши
Способ 1: Настройка скорости двойного клика
Начать стоит с программных настроек, которые могут влиять на ложные срабатывания двойного клика мышкой. Если у вас уже настроено одинарное нажатие, но при этом временами появляются непонятные сбои или же двойной клик срабатывает при последовательном нажатии с большой задержкой, потребуется отрегулировать его скорость.
- Для этого откройте «Пуск» и перейдите в меню «Параметры».
Там выберите категорию «Устройства».
Отыщите кликабельную надпись «Дополнительные параметры мыши» и нажмите по ней для перехода в меню.
В первой же вкладке «Кнопки мыши» вас интересует ползунок «Скорость выполнения двойного щелчка». Установите ее на несколько пунктов выше, а затем примените изменения.
После этого переходите к стандартному использованию компьютера, проверяя, будут ли наблюдаться ложные срабатывания. Если да, приступайте к следующим методам решения.
Способ 2: Отключение двойного клика
Настройка по умолчанию в Windows подразумевает открытие папок и запуск приложений двойным кликом мыши. Если вы читаете эту статью как раз для того, чтобы поменять это значение на одинарное нажатие, тогда потребуется выполнить такие действия:
- Откройте «Пуск» и через поиск найдите приложение «Панель управления».
Переместитесь в раздел «Параметры Проводника».
Все изменения тут же вступят в силу, а это значит, что вы можете переходить к проверке выполненного действия.
Способ 3: Переустановка драйверов
Это последний вариант решения проблемы появления двойного клика мыши, связанный с функционированием самой операционной системы. Он заключается в том, что вам потребуется обновить драйверы этого устройства, используя любой удобный для этого способ. Метод редко оказывается эффективным, но некоторым пользователям все же помогает. С примером инсталляции драйверов ознакомьтесь в статье по ссылке ниже.
Способ 4: Продув мыши сжатым воздухом
Переходим к аппаратным способам исправления появления случайного двойного нажатия мыши. Первый такой способ самый эффективный и подойдет любому: купите сжатый воздух в баллоне с трубкой в любом строительном или хозяйственном магазине.
Далее остается только отключить мышь от компьютера и тщательно продуть все щели, особенно под самими кнопками. Это поможет избавиться от мелких крошек, пыли и других сторонних предметов, которые могут провоцировать ложные нажатия. Место для продува стоит заранее подготовить, а еще лучше делать это на улице, ведь пыль и мусор моет разлететься по всей комнате.
Способ 5: Ручная чистка мыши
Последний метод актуален только для тех, кто не боится разбирать мышку. Не лишним будет наличие для нее запасных ножек, поскольку чаще всего их приходится отклеивать, чтобы получить доступ к винтикам, но обычно можно приклеить обратно и тот же комплект, без замены. Мышь понадобится разобрать, открутив все крепления. Их расположение на каждой модели разное, поэтому конкретных советов нет.
После этого займитесь осмотром переключателя, на котором срабатывает двойной клик. Удостоверьтесь в том, что сама кнопка не сломана и не имеет видимых дефектов. Если мышь дорогая и вы сталкиваетесь с такой задачей впервые, лучше отнести ее в сервисный центр, чтобы при ручной разборке случайно не повредить хрупкие проводки и саму плату.
В завершение уточним один момент по поводу беспроводных мышей, работающих от адаптеров Bluetooth или Wireless. Проблемы с двойным кликом бывают вызваны помехами волн, например, от динамика компьютера или других беспроводных периферийных устройств. Попробуйте отодвинуть кабель с адаптером немного в сторону или поменяйте порт его подключения, а затем проверьте, скажется ли это как-то на работе оборудования.
Control. Double Click Событие
Определение
Происходит при двойном щелчке элемента управления. Occurs when the control is double-clicked.
Тип события
Примеры
В следующем примере кода событие объекта используется DoubleClick ListBox для загрузки текстовых файлов, перечисленных в элементе, ListBox в TextBox элемент управления. The following code example uses the DoubleClick event of a ListBox to load text files listed in the ListBox into a TextBox control.
Комментарии
Двойной щелчок определяется параметрами мыши операционной системы пользователя. A double-click is determined by the mouse settings of the user’s operating system. Пользователь может задать время между нажатиями кнопки мыши, которые будут считаться двойным щелчком, а не двумя отдельными щелчками. The user can set the time between clicks of a mouse button that should be considered a double-click rather than two clicks. ClickСобытие возникает каждый раз при двойном щелчке элемента управления. The Click event is raised every time a control is double-clicked. Например, если у вас есть обработчики событий для Click DoubleClick событий и Form , Click DoubleClick события и вызываются при двойном щелчке формы и вызове обоих методов. For example, if you have event handlers for the Click and DoubleClick events of a Form, the Click and DoubleClick events are raised when the form is double-clicked and both methods are called. Если элемент управления дважды щелкнул, и этот элемент управления не поддерживает DoubleClick событие, Click событие может быть вызвано дважды. If a control is double-clicked and that control does not support the DoubleClick event, the Click event might be raised twice.
Чтобы StandardDoubleClick StandardClick ControlStyles true это событие было создано, необходимо задать значения и для параметра. You must set the StandardDoubleClick and StandardClick values of ControlStyles to true for this event to be raised. Для этих значений может быть уже установлено значение, true Если вы наследуете от существующих элементов управления Windows Forms. These values might already be set to true if you are inheriting from existing Windows Forms controls.
Следующие события не вызываются для TabControl класса, если в коллекции не существует хотя бы одного TabPage из них TabControl.TabPages : Click , DoubleClick , MouseDown , MouseUp , MouseHover , MouseEnter MouseLeave и MouseMove . The following events are not raised for the TabControl class unless there is at least one TabPage in the TabControl.TabPages collection: Click, DoubleClick, MouseDown, MouseUp, MouseHover, MouseEnter, MouseLeave and MouseMove. Если в коллекции есть хотя бы один TabPage элемент, и пользователь взаимодействует с заголовком элемента управления вкладки (где TabPage отображаются имена), TabControl вызывается соответствующее событие. If there is at least one TabPage in the collection, and the user interacts with the tab control’s header (where the TabPage names appear), the TabControl raises the appropriate event. Однако если взаимодействие с пользователем происходит в клиентской области страницы вкладки, TabPage вызывается соответствующее событие. However, if the user interaction is within the client area of the tab page, the TabPage raises the appropriate event.
Дополнительные сведения об обработке событий см. в разделе обработка и вызов событий. For more information about handling events, see Handling and Raising Events.
Примечания для тех, кто наследует этот метод
Наследование от стандартного элемента управления Windows Forms и изменение StandardClick значений или в StandardDoubleClick ControlStyles to true может привести к непредвиденному поведению или не иметь никакого влияния на все, если элемент управления не поддерживает Click события или DoubleClick . Inheriting from a standard Windows Forms control and changing the StandardClick or StandardDoubleClick values of ControlStyles to true can cause unexpected behavior or have no effect at all if the control does not support the Click or DoubleClick events.
В следующей таблице перечислены Windows Formsные элементы управления и события, которые Click DoubleClick вызываются в ответ на указанное действие мыши. The following table lists Windows Forms controls and which event (Click or DoubleClick) is raised in response to the mouse action specified.
Control Control | Щелчок левой кнопкой мыши Left Mouse Click | Двойной щелчок левой кнопкой мыши Left Mouse Double Click | Щелчок правой кнопкой мыши Right Mouse Click | Двойной щелчок правой кнопкой мыши Right Mouse Double Click | Щелчок средней кнопкой мыши Middle Mouse Click | Двойной щелчок средней кнопкой мыши Middle Mouse Double Click | Щелчок мыши XButton1 XButton1 Mouse Click | Double-Click мыши XButton1 XButton1 Mouse Double-Click | Щелчок мыши XButton2 XButton2 Mouse Click | Double-Click мыши XButton2 XButton2 Mouse Double-Click |
---|---|---|---|---|---|---|---|---|---|---|
MonthCalendar, MonthCalendar, DateTimePicker, DateTimePicker, RichTextBox, RichTextBox, HScrollBar, HScrollBar, VScrollBar | нет none | нет none | нет none | нет none | нет none | нет none | нет none | нет none | нет none | нет none |
Button, Button, CheckBox, CheckBox, RadioButton | Щелкните Click | Щелкните, щелкните Click, Click | нет none | нет none | нет none | нет none | нет none | нет none | нет none | нет none |
ListBox, ListBox, CheckedListBox, CheckedListBox, ComboBox | Щелкните Click | Щелкните, DoubleClick Click, DoubleClick | нет none | нет none | нет none | нет none | нет none | нет none | нет none | нет none |
TextBox, TextBox, DomainUpDown, DomainUpDown, NumericUpDown | Щелкните Click | Щелкните, DoubleClick Click, DoubleClick | нет none | нет none | нет none | нет none | нет none | нет none | нет none | нет none |
\* TreeView, \* TreeView, \* ListView \* ListView | Щелкните Click | Щелкните, DoubleClick Click, DoubleClick | Щелкните Click | Щелкните, DoubleClick Click, DoubleClick | нет none | нет none | нет none | нет none | нет none | нет none |
ProgressBar, ProgressBar, TrackBar | Щелкните Click | Щелкните, щелкните Click, Click | Щелкните Click | Щелкните, щелкните Click, Click | Щелкните Click | Щелкните, щелкните Click, Click | Щелкните Click | Щелкните, щелкните Click, Click | Щелкните Click | Щелкните, щелкните Click, Click |
Form, Form, DataGrid, DataGrid, Label, Label, LinkLabel, LinkLabel, Panel, Panel, GroupBox, GroupBox, PictureBox, PictureBox, Splitter, Splitter, StatusBar, StatusBar, ToolBar, ToolBar, TabPage, TabPage, ** TabControl | Щелкните Click | Щелкните, DoubleClick Click, DoubleClick | Щелкните Click | Щелкните, DoubleClick Click, DoubleClick | Щелкните Click | Щелкните, DoubleClick Click, DoubleClick | Щелкните Click | Щелкните, DoubleClick Click, DoubleClick | Щелкните Click | Щелкните, DoubleClick Click, DoubleClick |
* Указатель мыши должен находиться над дочерним объектом ( TreeNode или ListViewItem ). * The mouse pointer must be over a child object (TreeNode or ListViewItem).
* * В TabControl коллекции должен быть по крайней мере один TabPage TabPages . ** The TabControl must have at least one TabPage in its TabPages collection.
Responding to Mouse Clicks
If the user clicks a mouse button while the cursor is over the client area of a window, the window receives one of the following messages.
Message | Meaning |
---|---|
WM_LBUTTONDOWN | Left button down |
WM_LBUTTONUP | Left button up |
WM_MBUTTONDOWN | Middle button down |
WM_MBUTTONUP | Middle button up |
WM_RBUTTONDOWN | Right button down |
WM_RBUTTONUP | Right button up |
WM_XBUTTONDOWN | XBUTTON1 or XBUTTON2 down |
WM_XBUTTONUP | XBUTTON1 or XBUTTON2 up |
Recall that the client area is the portion of the window that excludes the frame. For more information about client areas, see What Is a Window?
Mouse Coordinates
In all of these messages, the lParam parameter contains the x- and y-coordinates of the mouse pointer. The lowest 16 bits of lParam contain the x-coordinate, and the next 16 bits contain the y-coordinate. Use the GET_X_LPARAM and GET_Y_LPARAM macros to unpack the coordinates from lParam.
These macros are defined in the header file WindowsX.h.
On 64-bit Windows, lParam is 64-bit value. The upper 32 bits of lParam are not used. The MSDN documentation mentions the «low-order word» and «high-order word» of lParam. In the 64-bit case, this means the low- and high-order words of the lower 32 bits. The macros extract the right values, so if you use them, you will be safe.
Mouse coordinates are given in pixels, not device-independent pixels (DIPs), and are measured relative to the client area of the window. Coordinates are signed values. Positions above and to the left of the client area have negative coordinates, which is important if you track the mouse position outside the window. We will see how to do that in a later topic, Capturing Mouse Movement Outside the Window.
Additional Flags
The wParam parameter contains a bitwise OR of flags, indicating the state of the other mouse buttons plus the SHIFT and CTRL keys.
Flag | Meaning |
---|---|
MK_CONTROL | The CTRL key is down. |
MK_LBUTTON | The left mouse button is down. |
MK_MBUTTON | The middle mouse button is down. |
MK_RBUTTON | The right mouse button is down. |
MK_SHIFT | The SHIFT key is down. |
MK_XBUTTON1 | The XBUTTON1 button is down. |
MK_XBUTTON2 | The XBUTTON2 button is down. |
The absence of a flag means the corresponding button or key was not pressed. For example, to test whether the CTRL key is down:
If you need to find the state of other keys besides CTRL and SHIFT, use the GetKeyState function, which is described in Keyboard Input.
The WM_XBUTTONDOWN and WM_XBUTTONUP window messages apply to both XBUTTON1 and XBUTTON2. The wParam parameter indicates which button was clicked.
Double Clicks
A window does not receive double-click notifications by default. To receive double clicks, set the CS_DBLCLKS flag in the WNDCLASS structure when you register the window class.
If you set the CS_DBLCLKS flag as shown, the window will receive double-click notifications. A double click is indicated by a window message with «DBLCLK» in the name. For example, a double click on the left mouse button produces the following sequence of messages:
In effect, the second WM_LBUTTONDOWN message that would normally be generated becomes a WM_LBUTTONDBLCLK message. Equivalent messages are defined for right, middle, and XBUTTON buttons.
Until you get the double-click message, there is no way to tell that the first mouse click is the start of a double click. Therefore, a double-click action should continue an action that begins with the first mouse click. For example, in the Windows Shell, a single click selects a folder, while a double click opens the folder.
Non-client Mouse Messages
A separate set of messages are defined for mouse events that occur within the non-client area of the window. These messages have the letters «NC» in the name. For example, WM_NCLBUTTONDOWN is the non-client equivalent of WM_LBUTTONDOWN. A typical application will not intercept these messages, because the DefWindowProc function handles these messages correctly. However, they can be useful for certain advanced functions. For example, you could use these messages to implement custom behavior in the title bar. If you do handle these messages, you should generally pass them to DefWindowProc afterward. Otherwise, your application will break standard functionality such as dragging or minimizing the window.