way using splash screen

G

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
 
G

Guest

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
 
L

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.
====================================================
 
G

Guest

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.
 
G

Goh

Thanks

With Regards,
Goh

William Sullivan said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top