Ok, really just venting here, but why did they change it so the form doesn't
display until AFTER the Load event processes in CF2.0? So if you have any
amount of processing in the load event, nothing is showing until the
processing is complete. I used to be able to show a blank form with a wait
cursor - which worked well because the user knew "something" was happening.
Now I have to put a timer on every page and process it from there.

Worse yet, if you throw up a dialog box that just displays a status while a
process runs, then exits, that form will never show.

You also can't do a form.Show() from the load event of another form. You
have to use form.ShowDialog() (thanks Ginny) which means the underlying form
doesn't continue to load until the top form closes.

Anyway, if you are planning on converting to 2.0, be warned the form display
logic has changed. Timers will get around most problems.

-Dave

Re: Why did the Form Show logic change in CF2.0? by Alex

Alex
Mon Mar 27 14:35:21 CST 2006

Would calling Application.DoEvents() in the beginning of the Form.Load help
any?

"David D Webb" <spivey@nospam.post.com> wrote in message
news:Ooc%23$ucUGHA.4452@TK2MSFTNGP12.phx.gbl...
> Ok, really just venting here, but why did they change it so the form
> doesn't display until AFTER the Load event processes in CF2.0? So if you
> have any amount of processing in the load event, nothing is showing until
> the processing is complete. I used to be able to show a blank form with a
> wait cursor - which worked well because the user knew "something" was
> happening. Now I have to put a timer on every page and process it from
> there.
>
> Worse yet, if you throw up a dialog box that just displays a status while
> a process runs, then exits, that form will never show.
>
> You also can't do a form.Show() from the load event of another form. You
> have to use form.ShowDialog() (thanks Ginny) which means the underlying
> form doesn't continue to load until the top form closes.
>
> Anyway, if you are planning on converting to 2.0, be warned the form
> display logic has changed. Timers will get around most problems.
>
> -Dave
>
>


Re: Why did the Form Show logic change in CF2.0? by David

David
Mon Mar 27 15:02:06 CST 2006

No, it has no effect. Even if I call it repeatedly during the load.

private void Form2_Load(object sender, EventArgs e)
{
Cursor.Current = Cursors.WaitCursor;
Application.DoEvents();
for (int i = 0; i < 50000000; i++)
{
if (i%1000000 == 0)
Application.DoEvents();
}
Cursor.Current = Cursors.Default;
}


"Alex Feinman [MVP]" <public_news@alexfeinman.com> wrote in message
news:%23U6843dUGHA.4792@TK2MSFTNGP14.phx.gbl...
> Would calling Application.DoEvents() in the beginning of the Form.Load
> help any?
>


Re: Why did the Form Show logic change in CF2.0? by Daniel

Daniel
Fri Mar 31 19:13:18 CST 2006

Does the workaround described here help you at all? :
http://groups.google.com/group/microsoft.public.dotnet.framework.compactframework/browse_thread/thread/1b8c95049532ee92/4385ce61f4f8f830#4385ce61f4f8f830

Cheers
Daniel
--
http://www.danielmoth.com/Blog/

"David D Webb" <spivey@nospam.post.com> wrote in message
news:uZ$B1GeUGHA.736@TK2MSFTNGP12.phx.gbl...
> No, it has no effect. Even if I call it repeatedly during the load.
>
> private void Form2_Load(object sender, EventArgs e)
> {
> Cursor.Current = Cursors.WaitCursor;
> Application.DoEvents();
> for (int i = 0; i < 50000000; i++)
> {
> if (i%1000000 == 0)
> Application.DoEvents();
> }
> Cursor.Current = Cursors.Default;
> }
>
>
> "Alex Feinman [MVP]" <public_news@alexfeinman.com> wrote in message
> news:%23U6843dUGHA.4792@TK2MSFTNGP14.phx.gbl...
>> Would calling Application.DoEvents() in the beginning of the Form.Load
>> help any?
>>
>