The key focus can only be set on a control if the front panel window has focus. This means that if a window other than the front panel is selected this property cannot be set. As a result, if the program is run from the block diagram instead of the front panel the Key Focus
property node will not work.
LabVIEW also does not have the ability to maintain persistent key focus. This means that if you set the key focus on the front panel and then switch from a different window back to the front panel, the front panel will not remember where the key focus has been set.
One way to ensure that the key focus is always set no matter how you choose to run your program is to use the Is Frontmost
property of the front panel. If you set the Is Frontmost
property of the front panel to true before you set the Key Focus
property to true, the key focus will always be set correctly because the front panel will always have focus when the key focus is set.
To access the Is Frontmost
property node, first place a VI Server Reference
on your block diagram found in the functions palette at Programming » Application Control
. Then right-click the output of the VI Server Reference
and select Create » Property For VI Class » Front Panel Window » Is Frontmost