前言
有些时候,我们做界面,需要好多个界面切换。如果是同一个 VI 里界面切换,一般都是选项卡了。切换不同选项卡就切换界面了。
一般来说,选项卡都是输入控件,手动选择选项卡来切换。我们如何选择选项卡的某个页面,然后触发本页响应让其工作,其余的子页停止工作呢?本文主要实现了这样一个问题。
一、使用选项卡
前面板右键 -> 容器 -> 选项卡
选项卡就是这个样子
选项卡其实是一个枚举类型的控件,所以我们可以使用条件结构对其中的枚举值进行判断当前选项卡是哪个页面,再执行我们想要做的事情
还可以给选项卡添加事件结构,当值改变时触发相应的动作。
但是事件结构这里没有办法确认当前到底是哪个选项卡被选中了,而只是知道选项卡的值被改变了,只有条件结构知道当前是哪个选项卡。
二、实现被选择选项卡工作
1、需求
目前选项卡有三个子页面,每个子页面里面都是一个 while 循环的任务,我现在想要实现的功能是选择其中一个子页面时,当前被选择的子页面正常工作,其余两个页面里面的 while 循环停止,任务不运行。
2、分析
根据上述需求,可做如下分析:将选项卡的条件结构和事件结构结合起来使用。
- 新开一个 while 循环将事件结构包含,在事件结构里面使用条件结构,条件结构里面,定义一个临时变量,根据当前是不同的子选项卡,赋值给当前临时变量不同的值。
- 新开一个 while 循环对选项卡使用条件结构,对不同条件内分别实现不同的 while 循环功能,在循环里面对临时变量进行判断,如果临时变量是上步骤中所幅的值就将假常量赋值给循环条件,否则就将真常量赋值给循环条件。
3、实现
每个循环任务内都有一个周期为 200ms 闪烁的布尔灯,当选择其中一个子页面时,当前小灯正常闪烁工作,其余两个子页面内的任务停止。
①、前面板
②、程序框图
三、效果展示