Home All Groups Group Topic Archive Search About

way using splash screen

Author
28 Jun 2006 4:25 AM
Goh
Hi,

        Just think to get some comment from communitiy regarding best
pratice using splash screen. If we develop an application that need loading
database to dataset it's we need done it at main page fill up all nessarcy
table to dataset. since the splash screen only counter the main page loading
time. If I only loading database from second form than user will need to
wait without notification. It seen like bad experience to the user for
waiting so long of time to display out another form.

        another example like crystal report. normally we will load crystal
report in from that is not the main form. mostly loading crystal report
requere alot of time to getting display out. But think in others way, if I
load all the form when the project is start then will consume allot of
memory.


        So what is the best way to develop a good application.


Thanks for any comment.
With regards,
Goh

Author
28 Jun 2006 10:08 AM
Joris Zwaenepoel
My opinion on this is that the splash screen should be used while the main
form is loading, and I don't think you should load a lot of other stuff at
startup time that your main screen doesn't need to start working.  Keep the
startup time of your application to a minimum.  Why load "crystal reports"
stuff when the app loads when you do not know that the user is actually going
to use the reports.

When you have other forms with a longer loading time, nothing stops you from
displaying a "splash-screen" like window to inform the user that it might
take some time for the requested action to complete. 

Joris


Show quote
"Goh" wrote:

> Hi,
>
>         Just think to get some comment from communitiy regarding best
> pratice using splash screen. If we develop an application that need loading
> database to dataset it's we need done it at main page fill up all nessarcy
> table to dataset. since the splash screen only counter the main page loading
> time. If I only loading database from second form than user will need to
> wait without notification. It seen like bad experience to the user for
> waiting so long of time to display out another form.
>
>         another example like crystal report. normally we will load crystal
> report in from that is not the main form. mostly loading crystal report
> requere alot of time to getting display out. But think in others way, if I
> load all the form when the project is start then will consume allot of
> memory.
>
>
>         So what is the best way to develop a good application.
>
>
> Thanks for any comment.
> With regards,
> Goh
>

>
>
>
Author
28 Jun 2006 12:31 PM
Linda Liu [MSFT]
Hi Goh,

Thank you for posting.

If it will take a long time for a program to start, you'd better display a
splash screen until the program completes loading.

If you are using VB.NET, you could add a splash screen to your project(from
Project menu, select Add New Item, select Splash Screen template and press
Add button). The only thing left is to set the splash screen as the
splashscreen of your project in the project designer, Application tab.

If you are using C#, there isn't such template as splash screen. I
recommend you to use a windows form as a splash screen. In the main form's
load event handler, you may use a BackgroundWorker to do the time-consuming
work in another thread and display the splash screen. In the
BackgroundWorker's RunWorkerCompleted event  handler, you should close the
splash screen. And alternatively, you could use a progressbar instead of
the splash screen and show the progress of work the BackgroundWorker's
doing.

For more information on the BackgroundWorker, you may refer to the link
below:
http://msdn2.microsoft.com/en-us/library/system.componentmodel.backgroundwor
ker(d=ide).aspx

Hope this helps.
If you have anything unclear, please don't hesitate to let me know.



Sincerely,
Linda Liu
Microsoft Online Community Support

====================================================
When responding to posts,please "Reply to Group" via
your newsreader so that others may learn and benefit
from your issue.
====================================================
Author
28 Jun 2006 2:04 PM
Jim Wooley
In addition, I would recommend the BackgroundWorker for the report processing.
Hand the formatting of a report off to a different thread and let the user
keep working in the application.

Jim Wooley
http://devauthority.com/blogs/jwooley/default.aspx

Show quote
> Hi Goh,
>
> Thank you for posting.
>
> If it will take a long time for a program to start, you'd better
> display a splash screen until the program completes loading.
>
> If you are using VB.NET, you could add a splash screen to your
> project(from Project menu, select Add New Item, select Splash Screen
> template and press Add button). The only thing left is to set the
> splash screen as the splashscreen of your project in the project
> designer, Application tab.
>
> If you are using C#, there isn't such template as splash screen. I
> recommend you to use a windows form as a splash screen. In the main
> form's load event handler, you may use a BackgroundWorker to do the
> time-consuming work in another thread and display the splash screen.
> In the BackgroundWorker's RunWorkerCompleted event  handler, you
> should close the splash screen. And alternatively, you could use a
> progressbar instead of the splash screen and show the progress of work
> the BackgroundWorker's doing.
>
> For more information on the BackgroundWorker, you may refer to the
> link below:
> http://msdn2.microsoft.com/en-us/library/system.componentmodel.backgro
> undwor ker(d=ide).aspx
>
> Hope this helps.
> If you have anything unclear, please don't hesitate to let me know.
> Sincerely,
> Linda Liu
> Microsoft Online Community Support
> ==================================================== When responding
> to posts,please "Reply to Group" via your newsreader so that others
> may learn and benefit from your issue.
> ====================================================
>
Author
29 Jun 2006 4:05 PM
William Sullivan
The BackgroundWorker is a good idea, but I have another suggestion.  Kick off
whatever loading you need to do on startup by using a ThreadPool thread. 
Once that process has started, then display your splash screen modally
(ShowDialog()).  When that exits, then check to see if the loading has
completed; if not, display some sort of notification to the user that the
loading process is still taking place.  The reason for doing this is that
users expect splash screens to stay only for so long, and they often want the
ability to turn them off completely.  By doing it this way, you can satisfy
both user desires without having to do some tricky coding to get it to work. 

Show quote
"Goh" wrote:

> Hi,
>
>         Just think to get some comment from communitiy regarding best
> pratice using splash screen. If we develop an application that need loading
> database to dataset it's we need done it at main page fill up all nessarcy
> table to dataset. since the splash screen only counter the main page loading
> time. If I only loading database from second form than user will need to
> wait without notification. It seen like bad experience to the user for
> waiting so long of time to display out another form.
>
>         another example like crystal report. normally we will load crystal
> report in from that is not the main form. mostly loading crystal report
> requere alot of time to getting display out. But think in others way, if I
> load all the form when the project is start then will consume allot of
> memory.
>
>
>         So what is the best way to develop a good application.
>
>
> Thanks for any comment.
> With regards,
> Goh
>

>
>
>
Author
3 Jul 2006 8:56 AM
Goh
Thanks

With Regards,
Goh

Show quote
"William Sullivan" <WilliamSulli***@discussions.microsoft.com> wrote in
message news:87142B4B-F4E9-48B4-97AB-F51106B2DB66@microsoft.com...
> The BackgroundWorker is a good idea, but I have another suggestion.  Kick
> off
> whatever loading you need to do on startup by using a ThreadPool thread.
> Once that process has started, then display your splash screen modally
> (ShowDialog()).  When that exits, then check to see if the loading has
> completed; if not, display some sort of notification to the user that the
> loading process is still taking place.  The reason for doing this is that
> users expect splash screens to stay only for so long, and they often want
> the
> ability to turn them off completely.  By doing it this way, you can
> satisfy
> both user desires without having to do some tricky coding to get it to
> work.
>
> "Goh" wrote:
>
>> Hi,
>>
>>         Just think to get some comment from communitiy regarding best
>> pratice using splash screen. If we develop an application that need
>> loading
>> database to dataset it's we need done it at main page fill up all
>> nessarcy
>> table to dataset. since the splash screen only counter the main page
>> loading
>> time. If I only loading database from second form than user will need to
>> wait without notification. It seen like bad experience to the user for
>> waiting so long of time to display out another form.
>>
>>         another example like crystal report. normally we will load
>> crystal
>> report in from that is not the main form. mostly loading crystal report
>> requere alot of time to getting display out. But think in others way, if
>> I
>> load all the form when the project is start then will consume allot of
>> memory.
>>
>>
>>         So what is the best way to develop a good application.
>>
>>
>> Thanks for any comment.
>> With regards,
>> Goh
>>
>>
>>
>>
>>

AddThis Social Bookmark Button