启用LabVIEW禁用滑块

时间:2016-04-21 08:34:17

标签: slider labview

我在LabVIEW中禁用滑块时遇到很大问题。这是我的最小例子:

我有一个简单的Slider,如果值大于5,它会被禁用并变灰。否则Slider会被启用。

enter image description here

如果我将滑块拖动到高于5,则滑块会变灰。但我仍然可以移动滑块并更改值。只有在我放下Slider后,Slider才会被禁用。

在我看来,这是LabVIEW的一个大错误。在拖动过程中有没有办法禁用滑块?

感谢您的回答!

其他信息: 就像我说的那样,该片段只是我展示基本问题的最小例子。在我的申请中,发生了以下情况:

我的状态机具有启用Slider的状态和禁用我的Slider的状态。状态可以随时改变,因此可能,用户在状态改变时使用滑块 - >禁用的时刻。此时滑块应该被禁用(它只会变灰)直接...不释放后。因此限制最大值并非真正的目标。我想禁止用户使用所有滑块操作。

Link to question asked on NI Discussion Forums

3 个答案:

答案 0 :(得分:4)

正如Alexander论坛上的Alexander_Sobolev所建议的那样(但我保证我会独立思考它!),你可以通过生成鼠标按钮来结束滑块拖动。在Windows上,您可以使用Simulate Mouse.vi from the NI site执行此操作,该mouse_event从user32.dll调用puts 'Hello, what\' your favorite number?' number = gets.to_i puts 'Here\' a better bigger favorite number - ' + number + 1

VI snippet showing use of Simulate Mouse.vi

请注意,其中一个VI的鼠标位置输入被错误地标记为“必需”;我在创建上面的代码之前修复了它。

我确实认为这是一种UI技术,只有在系统要求真正合理的情况下才能使用,并且如果用户理解为什么它会这样工作;否则它可能会令人沮丧和恼人的用户体验。我不认为这是一个错误,而是一个设计决定,因为在其他情况下相反的行为可能同样不受欢迎。

答案 1 :(得分:2)

我猜你可以通过添加另一个属性节点,在case结构中将滑块值设置为5,同时将灰度值设置为灰色。如果用户试图将滑块拉到上面,这应该使滑块保持在5。

答案 2 :(得分:2)

这似乎是一种奇怪的行为,因为即使控件处于禁用状态,按住鼠标按钮也会触发值更改事件。变灰了。

我可以想到限制该值的一种方法是更新此控件的“数据输入限制最大值”属性,并将“响应”设置为“限制超出最大值”。 enter image description here