LABVIEW深入探索之如何使多個(gè)事件分支執(zhí)行相同的功能
在實(shí)際應(yīng)用中,經(jīng)常會(huì)遇到多個(gè)不同的事件源,需要觸發(fā)同一事件的問題。最為常見的是程序的菜單項(xiàng)和工具欄的按鈕問題。通常情況下,工具欄的按鈕對(duì)應(yīng)菜單條的中的某一項(xiàng),二者的作用是相同的。在C語言編程中,通常為二者注冊(cè)同一回調(diào)函數(shù),這樣二者的反應(yīng)就完全相同了。
在Labview的編程實(shí)踐中,也會(huì)遇到類似的問題,基于LABVIEW事件結(jié)構(gòu)的特殊性,存在幾種常見的方法可以解決這個(gè)問題。
1、為一個(gè)分支靜態(tài)注冊(cè)多個(gè)事件。
這種方法與其它編程語言類似,類似于為多個(gè)事件注冊(cè)同一回調(diào)函數(shù)。下面我用四個(gè)按鈕來舉例說明。
顯然圖中四個(gè)按鈕的作用是類似的,比如移動(dòng)圖片,包括上下左右四個(gè)方向。一般情況下,我們對(duì)四個(gè)按鈕是分別靜態(tài)注冊(cè)事件,因此會(huì)出現(xiàn)四個(gè)事件處理分支,非常繁瑣,也容易出現(xiàn)問題。
初學(xué)者可能沒有注意到一個(gè)事件分支可以靜態(tài)注冊(cè)多個(gè)控件的事件,注冊(cè)方法如下圖所示:
通過事件結(jié)構(gòu)中控件的引用可以區(qū)分是那個(gè)按鈕產(chǎn)生了事件。
評(píng)論