ReportViewer コントロールにツリー階層として表示されるレポート名のリストがあります。ユーザーがレポート名をクリックすると、入力フォームが読み込まれ、ユーザーはいくつかの値を入力して [OK] を押します。この時点で、バックエンド プロセス (DB への接続、値の取得など) の実行中にスプラッシュ スクリーンが読み込まれます。レポートが Reportviewer エディターに読み込まれると、スプラッシュスクリーンが閉じます。
これまでのところ、スプラッシュ スクリーンを表示することはできますが、その時点で動かなくなり、実際のレポートが読み込まれず、スプラッシュ スクリーンが永久に表示されたままになります。
アプリの起動時ではなく、アプリの途中でスプラッシュスクリーンを使用することはできますか? その場合、レポートの読み込みを続行するにはどうすればよいですか?
static class Program
{
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new SnapPlusReports());
//new SplashScreenApp().Run(args);
}
}
public class SplashScreenApp : WindowsFormsApplicationBase
{
private static SplashScreenApp _application;
public static void Run(Form form)
{
_application = new SplashScreenApp { MainForm = form };
_application.Run(Environment.GetCommandLineArgs());
}
protected override void OnCreateSplashScreen()
{
this.SplashScreen = new ShowProgress();
base.OnCreateSplashScreen();
}
}