Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 182145
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T14:53:16+00:00 2026-05-11T14:53:16+00:00

How can I force a section of code to be executed on my main

  • 0

How can I force a section of code to be executed on my main thread?

This is why I’d like to know:

I have a custom created message box that at times gets shown from a thread that is not the main thread. However, when the message box constructor is called I get an InvalidOperationException saying ‘The calling thread must be STA, because many UI components require this.’ This makes sense, UI elements need to be handled on the main thread.

My MessageBox.ShowMessage(…) function is a static function that creates an instance of my custom message box and shows it. Is there a something I could put in ShowMessage that would force the message box to be created and shown on the main thread? Elsewhere in my code I use the Control.BeginInvoke to handle similar issues, but since it is a static function there is no already existing UI element for me to call BeginInvoke on.

Do I have to call MessageBox.ShowMessage from with a Control.BeginInvoke? I’d prefer the BeginInvoke (or some equivalent) to be called from within ShowMessage.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T14:53:17+00:00Added an answer on May 11, 2026 at 2:53 pm

    There are a few options here:

    • make the second thread STA (you can only do this for your own Thread – not for ThreadPool threads) – via .SetApartmentState(ApartmentState.STA);
    • see if SynchronizationContext.Current is non-null; if so, use Send/Post
    • pass the form/control in as an ISynchronizeInvoke instance (may not apply to WPF – I’m not 100% sure)
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 103k
  • Answers 103k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Use reflection : using System.Reflection; ... PropertyInfo prop = typeof(Customer).GetProperty(propertyName);… May 11, 2026 at 8:28 pm
  • Editorial Team
    Editorial Team added an answer Well it appears that this works: <!-- suppress sound (and… May 11, 2026 at 8:28 pm
  • Editorial Team
    Editorial Team added an answer Yes, you can make your own. The best way would… May 11, 2026 at 8:28 pm

Related Questions

As the title suggests, I am having trouble maintaining my code on postback. I
We have some software which relied on certain behavior from another ( very commonly
I have 2 detail sections on my report (details a and details b). Fields
I know how to disable WSDL-cache in PHP, but what about force a re-caching

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.