0 / 0 / 0
Регистрация: 19.08.2009
Сообщений: 3
|
|
1 | |
Как отследить вход в PictureBox курсора мыши с нажатой левой кнопкой21.08.2009, 14:16. Показов 3626. Ответов 5
Метки нет (Все метки)
Проблема такая. Необходимо сделать так, чтобы PictureBox меняла картинку при входе курсора мыши с нажатой левой кнопкой (например, с sap0 на sap1), при выходе курсора возвращалась прежняя картинка (sap0), а при отпускании левой кнопки на данном PictureBox картинка оставалась sap1.
Не могу придумать как добавить отслеживания состояния кнопки... Пример кода: pictureBox1.MouseEnter += new EventHandler(pictureBox1_MouseEnter); pictureBox1.MouseLeave += new EventHandler(pictureBox1_MouseLeave); private void pictureBox1_MouseEnter(object sender, EventArgs e) { pictureBox1.Image = global::sap.Properties.Resources.sap1; } private void pictureBox1_MouseLeave(object sender, EventArgs e) { pictureBox1.Image = global::sap1.Properties.Resources.sap0; }
0
|
21.08.2009, 14:16 | |
Ответы с готовыми решениями:
5
Как отследить перемещение мыши с нажатой кнопкой за пределы PictureBox? Как отследить перемещение мыши с удерживаемой нажатой кнопкой? В рабочей части окна при движении мыши с нажатой левой клавишей мыши рисовать траекторию движения курсора мыши При щелчке левой кнопкой мыши внутри окна в месте курсора отображается круг радиусом 5 единиц |
34 / 21 / 2
Регистрация: 31.03.2009
Сообщений: 362
|
||||||
21.08.2009, 16:00 | 2 | |||||
делай через mousemove и mouseDown делай проверку в mousedown что есть кнопка левая, то ставить какую то переменную в состояние 1, дальше в mouseMove пиши если переменная равна 1 то делать тото тото, дело в том что mousemove работать будет только если мышка в поле картинки, тоесть если мышка выйдет за картинку то mousemove не будет происходить... mouseEnter это когда ты щелкаешь на картинке(на текстовом поле, например, заметнее это, ты щелкнул на нем, появился мигающий курсор, а когда щелкнул куда то еще то мигающий курсор исчез, это как раз mouseLeave)
Добавлено через 2 минуты 28 секунд
0
|
0 / 0 / 0
Регистрация: 19.08.2009
Сообщений: 3
|
|
21.08.2009, 18:04 [ТС] | 3 |
Спасибо, но этот способ для моей задачи не подходит.
Как можно проверить состояние кнопки "нажата" или нет? Есть способы? Предположим она уже нажата, и после этого курсор попадает на объект...
0
|
34 / 21 / 2
Регистрация: 31.03.2009
Сообщений: 362
|
|
21.08.2009, 18:05 | 4 |
я же написал выше как проверить состояние нажата или нет, почему не подходит? объясните суть.
0
|
0 / 0 / 0
Регистрация: 19.08.2009
Сообщений: 3
|
|
21.08.2009, 19:05 [ТС] | 5 |
На примере поля в ире "Сапер". Зажимаешь кнопку не на игровом поле, удержавая её перемещаемся на поле. В нажатом состоянии кнопки ячейки на поле изменяют форму при перемещении. Отпускаем кнопку происходит событие.
Мне нужно что-то вроде этого.
0
|
308 / 161 / 11
Регистрация: 07.06.2009
Сообщений: 538
|
|
21.08.2009, 19:12 | 6 |
посмотри статические свойства класса Control, там есть свойство какое то для того что тебе нужно, (не помню уже) по названию поймешь.
Добавлено через 2 минуты 38 секунд System.Windows.Forms.Control.MouseButtons Добавлено через 1 минуту 57 секунд
0
|
21.08.2009, 19:12 | |
21.08.2009, 19:12 | |
Помогаю со студенческими работами здесь
6
При нажатой кнопке мыши обработать событие "вход курсора" на другой обьект Как поменять указатель мыши при нажатой левой кнопке? Событие мыши: перемещение мыши при нажатой левой клавиши Перемещение камеры при нажатой левой клавише мыши; проблемы с обзором мыши и видимостью указателя Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |