|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
way using splash screenJust 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 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 > > > > > 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. ==================================================== 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. > ==================================================== > 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 > > > > > 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 >> >> >> >> >> |
|||||||||||||||||||||||