如何获取多个相同控件的引用
时间:10-02
整理:3721RD
点击:
请问大神如何获取多个相同控件的引用,比如我有几十个一样的布尔控件,想批量获取他们的引用,然后组成一个引用的数组,想用哪个控件的引用时就索引出来。布尔控件名字命名有规律,如布尔0 ,布尔1,布尔2,布尔3.....布尔100,按此顺序命名下去。
我网上找了一些资料,都说的是获取不同控件的引用的例子,有没有获取相同控件的引用呢,我试了一下都没有成功,思路是:先找出前面板全部控件的引用,然后按照类名找出布尔控件类的引用,然后按照布尔的标签文本区分具体的控件引用,可是没有成功。
看了下 《我和Labview》 那本书黑白棋程序那章节有这么一段代码,如下图,就是实现该功能的,可是一运行就有问题,提示什么错误问题,不知道是什么原因,好像是labview自带的那个Get Control.vi这个子vi有问题。
不知道大家有没有相关的例子,万分感谢!
把所有布尔控件拉到一个簇里面,创建簇的引用,在簇引用那边右键--创建--控件[],得到的就是所有布尔控件的引用数组,你可以索引这个数组得到具体布尔的引用,就可以使用这个引用去做你要做的事(变颜色变大小等等)
这个可以把其他控件挑出,只留下布尔控件的引用数组,即便你前面板还有其他控件也可以实现。
我网上找了一些资料,都说的是获取不同控件的引用的例子,有没有获取相同控件的引用呢,我试了一下都没有成功,思路是:先找出前面板全部控件的引用,然后按照类名找出布尔控件类的引用,然后按照布尔的标签文本区分具体的控件引用,可是没有成功。
看了下 《我和Labview》 那本书黑白棋程序那章节有这么一段代码,如下图,就是实现该功能的,可是一运行就有问题,提示什么错误问题,不知道是什么原因,好像是labview自带的那个Get Control.vi这个子vi有问题。
不知道大家有没有相关的例子,万分感谢!
把所有布尔控件拉到一个簇里面,创建簇的引用,在簇引用那边右键--创建--控件[],得到的就是所有布尔控件的引用数组,你可以索引这个数组得到具体布尔的引用,就可以使用这个引用去做你要做的事(变颜色变大小等等)
在初始化模块中将引用按名称绑定到簇,簇用移位寄存器打通while,官方的队列模板就是这样做的
我去试一下,非常感谢你的答复。
好像不是我要的答案,不过还是谢谢你的答复!
可以的,不行你在回我。
你看这样是不是
但是这样会把按钮也算进去,所以加以改进一下,放弃用类名来筛选,可以改用标签名筛选,这些布尔控件加一个统一的前缀就ok了
我试了一下,是可以的,很简单的方法。但是有个问题,就是我想利用布尔引用移动布尔控件到前面板指定坐标位置,使用这个位置属性的时候,你这里将布尔放到簇里面,布尔控件只能在簇里面移动位置。怎么破?
是这样的,我原来的思路也是这样用类名筛选,发现按钮也是这类的。后来改用类名+标签名筛选,结果没成功。
如果按照你的方法,我用了比较笨的方法,将簇控件搞透明,然后欺骗用户,我的布尔控件就可以在前面板随便移动到指定坐标位置了,但这方法有点笨。
要么就把簇在前面板拉大,直到能到达你布尔量移动的地方,要么就换种方式,如果前面板的只有布尔控件的话,就是下图的方式
嗯,这是一种方法,非常感谢你的答复哈
这个可以把其他控件挑出,只留下布尔控件的引用数组,即便你前面板还有其他控件也可以实现。
筛选你不会?例如布尔标签命名为bull_1,bull_2。用 匹配模式 函数,正则表达式输入bull就行了
就是这么简单改一下,想问题不能太死板
好帖,必须支持一下!
不错哈,厉害。我好几年没用Labview了,生疏了。非常感谢!
恩恩,这个确实可以
恩恩,这个确实可以