Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单击并按住按钮,同时拖动鼠标使值变大/变小_C#_Wpf - Fatal编程技术网

C# 单击并按住按钮,同时拖动鼠标使值变大/变小

C# 单击并按住按钮,同时拖动鼠标使值变大/变小,c#,wpf,C#,Wpf,我的WPF表单上有一个按钮,当我点击并按住它时,我希望能够上下拖动鼠标来增加/减少一个值 这是我的解释(不是最漂亮的) 在步骤1:用户单击并按住鼠标左键 步骤2:用户继续按住鼠标左键,同时向上拖动鼠标 (我希望在用户拖动时更新该值) 步骤3:用户释放左鼠标按钮,停止更新 这里是困难的地方: 如何获取从计时器已过事件拖动的距离 假设第一步称为a,用户释放鼠标按钮时的部分称为b。 我想获得从a到b的距离,例如a计时器(拖动时使其更新的计时器) 我将如何完成此任务?您正在寻找一个: 输出: 无

我的WPF表单上有一个按钮,当我点击并按住它时,我希望能够上下拖动鼠标来增加/减少一个值

这是我的解释(不是最漂亮的)

在步骤1:用户单击并按住鼠标左键

步骤2:用户继续按住鼠标左键,同时向上拖动鼠标

(我希望在用户拖动时更新该值)

步骤3:用户释放左鼠标按钮,停止更新

这里是困难的地方:

如何获取从计时器已过事件拖动的距离

假设第一步称为a,用户释放鼠标按钮时的部分称为b。 我想获得从a到b的距离,例如a计时器(拖动时使其更新的计时器)

我将如何完成此任务?

您正在寻找一个:


输出:


无需重新设计控制盘…

是否使用MouseDown和MouseUp附加的事件?您可以使用MouseEventAgs.GetPosition()计算上下移动发生的位置,然后计算差异(即移动距离)。@PeterRitchie如果使用这些事件,则在拖动时无法更新该值。只有开始-结束位置您还可以使用MouseMove附加事件。看@PeterRitchie嗯,这可以用。让我试试看。@PeterRitchie啊,这就成功了。我用mousedown得到原点,然后我更新了另一个点,这个点被mousemove更新了,然后做了一些简单的数学运算。那很有效,没错。但我只想要一个按钮来控制值,而不是整个滑块。@Tokfrans“整个滑块”只是一个
拇指和一个
轨迹
,或者将滑块更改为不包含
轨迹
,或者将
轨迹
样式更改为其他样式。在WPF中,UI元素是无外观的,正确控件的选择基于功能,而不是外观。
<Slider Maximum="10" Minimum="1" Orientation="Vertical"/>