1つのループ内には1つのイベントストラクチャのみを配置してください。この構成でイベントが発生すると、イベントストラクチャがイベントを処理し、ループが反復し、イベントストラクチャは次のイベントが発生するのを待ちます。1つのループに2つのイベントストラクチャを配置すると、両方のストラクチャがイベントを処理するまでループが反復されることができません。イベントストラクチャに対してフロントパネルのロックを有効にしている場合、フロントパネルとユーザインタフェースの対話方法によっては、そのVIのユーザインタフェースが反応しなくなる可能性があります。

たとえば、2つのイベントストラクチャを1つのWhileループに配置して、マウスダウンイベントを処理するように最初のイベントストラクチャを構成し、キーダウンイベントを処理するように2番目のイベントを構成すると、ユーザがマウスボタンをクリックしたときに最初のイベントストラクチャがマウスダウン状態イベントを受け取ります。最初のイベントストラクチャは正しいイベントケースを実行して実行を完了します。その間、2番目のイベントストラクチャは、キーが押されるまで待機します。ユーザがキーを押すと、2番目のイベントストラクチャがキーダウンイベントを受け取ります。2番目のイベントストラクチャがイベントを処理した後、Whileループがもう一度反復します。ユーザが対話を行い、マウスダウンイベントとキーダウンイベントを交互に発生させ続けると、イベントストラクチャがイベントが発生した都度イベントを処理するため、VIがスムーズに実行し、Whileループが反復を続けます。

ただし、ユーザがマウスボタンを2度クリックして、キーダウンイベントを間に入れずにマウスダウンイベントが続けて発生すると、ユーザインタフェースはハングします。ユーザが一度目にマウスボタンをクリックすると、最初のイベントストラクチャがマウスダウンイベントを受け取ってイベントを処理し、実行を完了します。ただし、2番目のイベントストラクチャは、キーダウンイベントを待機し続けるため、Whileループは反復できません。ユーザが2度目にマウスボタンをクリックすると、LabVIEWは2番目のマウスダウンイベントを生成して、最初のイベントストラクチャがイベントを処理するまでフロントパネルをロックします。この時点で、VIはデッドロック状態になります。最初のイベントストラクチャは、Whileループが反復するまで実行できず、Whileループは2番目のイベントストラクチャがキーダウンイベントを受け取って処理するまで反復できません。フロントパネルがロックされているため、キーダウンイベントは発生しません。フロントパネルはロックされたままの状態となり、ユーザがVIを中止するまで応答しません。

フロントパネルがロックした状態でユーザインタフェースがハングするのを防ぐには、1つのイベントストラクチャでVIで処理したいイベントをすべて構成するか、Whileループ内に入っているイベントストラクチャが常に1つのみになっているようにしてください。また、イベントが発生したときに常にイベントを処理できるイベントストラクチャがあるようにしてください。