C# を使用して、Office 2010 のようなアニメーション化されたスプラッシュ スクリーンを作成するにはどうすればよいですか?
6 に答える
この質問は winforms または wpf に関するものですか?
wpfについての場合:
アニメーション化されたスプラッシュ スクリーンは、「メイン ウィンドウ」の読み込み中に表示される wpf ウィンドウにすぎません。wischi で説明されているように、Expression Blend を使用してこのスプラッシュ ウィンドウを設計できます。
このコード プロジェクトもご覧ください。
ある種のローディング アニメーションを作成する場合:シンプルな WPF ローディング アニメーション
xaml で定義されたアニメーションを使用してウィンドウを作成し、アプリケーションの読み込み中にそれを表示する -> アニメーション化されたスプラッシュ スクリーン。
Winforms で:
アニメーションを作成するには、フォームのペイント メソッドをオーバーライドする必要がある場合があります。ただし、別のウィンドウの読み込み中にアニメーションを含む別のウィンドウがまだ表示されています。
最新のアプリケーション設計とスプラッシュスクリーンの問題には、 WPFを使用することをお勧めします。
Expression Blendは、アニメーションやxamlデザインを作成するための優れたツールです。ただし、プレーンなxamlを記述してアニメーションをデザインすることもできます
Expression BlendチュートリアルExpressionBlend
を使用したアニメーション:アニメーションを作成する方法Expression Blendを
使用したアニメーション:イベントでアニメーションを開始する方法
MSDN情報
アニメーションの概要
Winformsを使用すると、はるかに複雑になります。GUI全体はCPUによってレンダリングされます(GPUサポートなし)が、カスタムユーザーコントロールを作成してイベントを上書きし、Paint
描画にGDIを使用できますが、これはwpfを使用するよりもはるかに複雑になります。
Office 2010 のような動的なアニメーション スプラッシュ スクリーンを作成する場合は、WPFを使用することをお勧めします。コードで動的なアニメーションを作成するためにWinFormsについて考えないでください。
ただし、WinForms を使用することに決めた場合は、注意が必要で、次のいずれかのトリックを使用する必要があります。
• Flash ActiveX オブジェクトを配置し、Flash でアニメーションを作成し、それらをリンクします。
• WPFとSilverlightに精通している場合は、Silverlight でアニメーションを作成し、WebBrowser コントロールで表示できます。Flash またはHTML5も使用できます。
スプラッシュスクリーンの詳細なガイドはこちら: eExample スプラッシュスクリーン
基本は次のとおりですが。
1) スプラッシュスクリーンを作成して表示し、閉じる/破棄する
private void SplashForm()
{
SplashForm newSplashForm = new SplashForm();
newSplashForm.ShowDialog();
newSplashForm.Dispose();
}
2)別のスレッド/バックグラウンドワーカーでスプラッシュスクリーンを実行します
Thread t1 = new Thread(new ThreadStart(SplashForm));
t1.Start();
Thread.Sleep(5000); // 5 seconds
t1.Abort();
Thread.Sleep(1000);
WPF では、プロジェクトを右クリック > 新しいアイテムを追加 > スプラッシュ スクリーンを選択するだけで簡単に実行できます。これ
それを説明する簡単な例です。