Click here to Skip to main content
15,888,579 members
Home / Discussions / C#
   

C#

 
AnswerRe: How to get ConfigurationSettings for multiple users Pin
tdciDoug25-Apr-05 10:31
tdciDoug25-Apr-05 10:31 
GeneralRe: How to get ConfigurationSettings for multiple users Pin
Asad Hussain25-Apr-05 10:59
Asad Hussain25-Apr-05 10:59 
Generalprevious article on copying windows explorer functionality Pin
Anonymous25-Apr-05 9:08
Anonymous25-Apr-05 9:08 
GeneralRe: previous article on copying windows explorer functionality Pin
Polis Pilavas26-Apr-05 1:55
Polis Pilavas26-Apr-05 1:55 
QuestionSerialPort(framwork2) is freezing when closing? Pin
Snowjim25-Apr-05 8:10
Snowjim25-Apr-05 8:10 
AnswerRe: SerialPort(framwork2) is freezing when closing? Pin
Snowjim25-Apr-05 8:14
Snowjim25-Apr-05 8:14 
GeneralRe: SerialPort(framwork2) is freezing when closing? Pin
Snowjim25-Apr-05 8:36
Snowjim25-Apr-05 8:36 
GeneralSecondary message loop Pin
Luis Alonso Ramos25-Apr-05 7:48
Luis Alonso Ramos25-Apr-05 7:48 
Hello,

I'm writing an application where I have to perform this long process, so I create a new thread to keep the UI responsive. I also create a progress form which I have on my main thread. The code looks like this:
void StartProcess()
{
    ProgressForm form = new ProgressForm();
    WorkerClass wc = new WorkerClass(progressForm, delegate and so on);
    Thread t = new Thread(new ThreadStart(wc.Run));
    t.IsBackgroundThread = true;
    form.Show();
    t.Start();
    Application.Run(form);  // Exception here
    return;
}
My idea is to create the thread and the form, display the form, and then start the thread. Also, I want the StartProcess routine to block until the process is completed. I tried form.ShowDialog after calling t.Start, but then the progress dialog misses some progress updates.

I want to create the form as modeless, disabling the parent (not shown in the code) and then start the thread. After that, I want to run a secondary message loop until the dialog is closed, and then return to caller. But I get an exception about it being invalid to create a secondary message loop on a single thread, to use From.ShowDialog or Application.RunDialog instead. But Application.RunDialog doesn't exist (it does, but it's internal.)

So, how can I do it?

[EDIT: I just tried the following code and it seems to work fine:
progressForm.Owner = formParent;
formParent.Enabled = false;
progressForm.Show();
thread.Start();
while(progressForm.Visible)
    Application.DoEvents();
progressForm.Close();
formParent.Activate();
formParent.Enabled = true;
Any comments on it?]

-- LuisR



Luis Alonso Ramos
Intelectix - Chihuahua, Mexico

Not much here: My CP Blog!

GeneralRe: Secondary message loop Pin
S. Senthil Kumar25-Apr-05 19:06
S. Senthil Kumar25-Apr-05 19:06 
GeneralCompile differences in file and memory Pin
machocr25-Apr-05 7:15
machocr25-Apr-05 7:15 
GeneralHello All -- Some Problem In C# Pin
OMSSD8425-Apr-05 6:43
OMSSD8425-Apr-05 6:43 
GeneralRe: Hello All -- Some Problem In C# Pin
Polis Pilavas25-Apr-05 8:46
Polis Pilavas25-Apr-05 8:46 
GeneralRe: Hello All -- Some Problem In C# Pin
OMSSD8425-Apr-05 20:01
OMSSD8425-Apr-05 20:01 
GeneralRe: Hello All -- Some Problem In C# Pin
Polis Pilavas26-Apr-05 1:32
Polis Pilavas26-Apr-05 1:32 
GeneralHide the command window Pin
Sheela Krishnan25-Apr-05 6:15
Sheela Krishnan25-Apr-05 6:15 
GeneralRe: Hide the command window Pin
Steven Campbell25-Apr-05 6:24
Steven Campbell25-Apr-05 6:24 
GeneralRe: Hide the command window Pin
Dave Kreskowiak25-Apr-05 8:25
mveDave Kreskowiak25-Apr-05 8:25 
GeneralRe: Hide the command window Pin
Sheela Krishnan25-Apr-05 11:20
Sheela Krishnan25-Apr-05 11:20 
GeneralAbout Resource File Pin
SAMURAI-MAN25-Apr-05 5:35
SAMURAI-MAN25-Apr-05 5:35 
GeneralOpening a specified folder; double-clickon system tray icon Pin
Anonymous25-Apr-05 5:33
Anonymous25-Apr-05 5:33 
GeneralRe: Opening a specified folder; double-clickon system tray icon Pin
Polis Pilavas25-Apr-05 8:53
Polis Pilavas25-Apr-05 8:53 
GeneralRe: Opening a specified folder; double-clickon system tray icon Pin
mav.northwind25-Apr-05 20:24
mav.northwind25-Apr-05 20:24 
GeneralExport generated data to database. Pin
StoneWolfSoft25-Apr-05 5:22
StoneWolfSoft25-Apr-05 5:22 
GeneralObject reference not set to an instance of an object. On Marshal.PtrToStructure Method Pin
mrxero25-Apr-05 4:44
mrxero25-Apr-05 4:44 
GeneralSaving socket connection information Pin
CheckDude25-Apr-05 4:27
CheckDude25-Apr-05 4:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.