I've searched for this but could not find exactly what i need to fit my needs. If it already exists, i apologize and thank you for the redirect.

Fairly new to VB, but have a good understanding.

Scenario: Have 3rd party software that has many drop down options for each preceding dropdown, about 8 dropdown fields total. I have another tool that, based on entered values, gives the exact 8 choices needed for vendor software.

Desired effect: from existing tool, create popup with 8 values that STAYS ON TOP of all other windows. obviously need it to lose focus so vendor software choices can be made.

Already known: I already know how to create the info needed to put in the popup, call the vendor software and place the popup in the desired location.

Needed: How to keep popup on top of all other applications.

Hope i laid out enough detail for what I am looking for.

Thank you in advance!

5 Years
Discussion Span
Last Post by rthrtshrfhsrh

Thanks. Not exactly what I was looking for, but it gives me a new idea on how to do this. If I use a button click to write my data to a .csv file, then set a timer for about 10 seconds, then call a separate form that loads the .csv file upon opening, I can then set the 2nd form attribute to always be on top (i've done other apps using a checkbox, so i am fairly confident that i can just statically set new app to always be on top).

First thought I am see is that possibly due to computer speed, there may be issue with 2nd app loading .csv file while it is being written to. Is there way to lock .csv file from opening while it is being updated, then i could have 2nd app retry for until file is available.

Or possible opens before .csv file has been updated with new data. Possible work around for this would be to compare .csv modified date/time to current date/time for less than 2 minutes.

Sorry for thinking out loud here, but I'm not 100% sure that either would work or if they are even possible.

Any thoughts opinions?

Thanks again!


I'm not sure why you have to write the data in a CSV and then load a second app.

If both apps are going to be yours, then why not create a second form and have it read public vars? Have form1 start your 3rd party app and then your second form. On the second form's load event use the

Me.TopMost = True

and you should be set to go.


How about;


form1 will stay focused and on top till it is unloaded.

I'm guessing that this won't work as the request is to display data in a form that will be used to fill in a form in a 3rd party app.


That should work if you put it in the timer.tick and start the timer.
This only goes ontop of other forms in the project though.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.