Как закодировать эти правила для колесика мыши вверх/вниз, чтобы управлять уменьшением/увеличением временного значения?
У меня есть значение int -может быть получено как intopacitylevel- то, что контролирует непрозрачность элемента на форме. Когда я запускаю свое приложение, значение устанавливается на число случайного диапазона 1 - 255.
Как я могу собрать следующее Вместе в качестве решения для колесика мыши в c#?: я хочу, чтобы перемещение mwheel вверх или вниз постоянно меняло значение непрозрачности на минимальное или максимальное значение в зависимости от направления движения mwheel, добавляя/вычитая 1 к текущему значению каждые 1 мс.
Именно такое поведение:
Для направления вверх стоп-значение увеличивается только тогда, когда mwheel был перемещен на следующую точку вверх или когда значение находится на максимальном уровне 255. Для направления вниз стоп-значение уменьшается только тогда, когда колесо M было перемещено на следующую точку вниз или когда значение находится на минимальном уровне 1.
This .gif показывает результат, который я хочу: на этом месте была картина из прошлого
Что я уже пробовал:
Я новичок в c#, и я не очень уверен или очень гибок с вариантами, которые у меня есть.
Во - первых, я не уверен, как я должен определить конкретные правила колесика мыши и в сочетании с таймером?/флаг? чтобы правильно уменьшить/увеличить значение.
Я думаю, что нашел способ проверить, двигается ли колесо мыши вверх или вниз, по крайней мере.
Я не уверен, есть ли смысл начинать так, но это был мой первый подход в правильном направлении в конечном итоге.
private void Form1_MouseWheel(object sender, MouseEventArgs e) { int mousedeltaval = e.Delta / 120 if (mousedeltaval == 1) //mousewheel up move { } if (mousedeltaval == -1) //mousewheel down move { } }