I have a windows form application (C#) that launches multiple external batch
files to do various installation tasks. I want to show some status on the
win form, say simply update the text on a Lable control, "task 1
starting...", "Task 1 completed.", etc.
However, the text for the label is not being updated/showed. I understand
that the window is not responding to the Paint event anymore, How do I work
around this?
I see programs like InstallShield can do this, how did they do it?
Brian Hammer - 27 Dec 2004 20:14 GMT
Try Application.DoEvents. I have a similar deal with a splash screen I call
from a sub main
Public Overloads Sub Show(ByVal Message As String)
Me.lblStatus.Text = Message
Me.Show()
Application.DoEvents()
End Sub
HTH,
Brian
>I have a windows form application (C#) that launches multiple external
>batch
[quoted text clipped - 8 lines]
>
> I see programs like InstallShield can do this, how did they do it?
James Li - 27 Dec 2004 22:31 GMT
Thanks Brian. Actually I am using process.start to launch external program,
so it is not really in a loop that I can execute Application.DoEvents.
> Try Application.DoEvents. I have a similar deal with a splash screen I call
> from a sub main
[quoted text clipped - 21 lines]
> >
> > I see programs like InstallShield can do this, how did they do it?
Brian Hammer - 28 Dec 2004 05:50 GMT
Can you not call Application.DoEvents() right after process.start?
The only other thought is to run your externals from a separate thread.
> Thanks Brian. Actually I am using process.start to launch external
> program,
[quoted text clipped - 28 lines]
>> >
>> > I see programs like InstallShield can do this, how did they do it?