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 8038823
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 5, 20262026-06-05T03:21:50+00:00 2026-06-05T03:21:50+00:00

Using Winforms, If I’m on a thread that is not the main ui thread

  • 0

Using Winforms,
If I’m on a thread that is not the “main” ui thread can I safetly

  1. Create a Form,
  2. Call ShowDialog on that form

It seems like I would be obeying the rule of:
Winforms controls must be modified on the thread they were created in.

From some of the reading I’ve done it seems like ShowDialog will create its own message pump so that I don’t need to worry about the Form being created on a thread that already has a message pump.

The background of the question is that I get a callback where I’d like to display some Winforms UI, but I don’t have access to any other UI that I could use to Invoke to the main thread.

  • 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. Editorial Team
    Editorial Team
    2026-06-05T03:21:51+00:00Added an answer on June 5, 2026 at 3:21 am

    That’s roughly correct, albeit that it is pretty important that you call the thread’s SetApartmentState() method to switch the thread to STA. Important for many UI operations, including the clipboard, drag and drop and the shell dialogs. And that you usually have a crummy Z-order problem when the form that you create on the thread is not in the foreground and hides behind another window. Or has the nasty habit of actually do move in the foreground when the user doesn’t expect it and grab a mouse click or keystroke unexpectedly.

    These are hard problems to fix, they do make your app flaky. There’s no good reason to not have a reference to invoke to, you can also pass it to the class some way some how. You’ve always got Application.OpenForms[0] to fall back on, if really necessary.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a BindingSource that I'm using in winforms data binding and I'd like
I'm trying to create an auto-updating app using Winforms. I can't use click-once or
I'm using winforms now. I have the main form form1 and I have a
I am using WinForms for a C# project and my main form has a
Using winforms in vs2008. I have a DataGridView and I would like to detect
I'm using winforms and I've got a comboBox that represents an IQueryable. Below the
I am using Telerik WinForms RadGridView Control, I have set up Excel-like filtering, everything
Using C# and WinForms in VS2008, I want to create a file browser control
I'm using winforms. I spend a lot of time drawing forms (maybe not a
I am creating an application in .NET using winforms. That application must draw on

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.