I have an app that needs to run on a tertiary monitor. It runs perfectly when the app has the focus, but when I alt-tab away or open another app, the GUI stops updating until I click on it again. The processing is all task based and continues just fine, the gui just doesn’t update.

I’ve searched for this many times, but everything seems to come back to “make it multithreaded” and I’ve done that. Do c# apps just not do gui updates when they don’t have focus?

Your UI should update based on databindinding to classes that implement INotifyPropertyChanged. When this is done correctly, the UI should update whenever the ViewModel indicates a change, regardless of whether or not it has focus.

There is no databinding in this app. It’s all done via manual update of controls. In this instance, it’s a richeditbox that I manually add log entries to.

Forms should be fine, uwp update it’s ui if it’s native, not sure about xaml, I hope there is a flag for update in background..
This is a forms app. The program works just fine as long as it’s the current application, but when another application gets focus, the UI stops updating altogether. Just not sure why.

Windows Forms apps update in the background just fine, whether they use data binding or not. You’re likely doing something weird to update it.
Show some code.

What platform are you using?
If it’s Unity, they have a “run in background” setting that needs to be enabled for it to run when it doesn’t have focus: https://docs.unity3d.com/Manual/class-PlayerSettingsStandalone.html

source