Hi Charles,
I created an example that allows the VI to run continuously and still be able to print the VI for each button press.
My best advice for you is to run your VI in "highlight execution mode" by click in on the "lightbulb" found in the toolbar of the block diagram. When you run your program you will see how the data flows and why the VI is being called several times.
Take a look at this example, I think it does what you need.