C#を使用してOffice 2010のようなアニメーションのスプラッシュ画面を作成するにはどうすればよいですか?
この質問はwinformsまたはwpfに関するものですか?
Wpfに関する場合:
アニメーション化されたスプラッシュ画面は、「メインウィンドウ」の読み込み中に表示されるwpfウィンドウにすぎません。 wischiで説明されているように、ExpressionBlendを使用してこのスプラッシュウィンドウを設計できます。
これも見ることができます コードプロジェクト 。
ある種の読み込みアニメーションを作成する場合: 単純なWPF読み込みアニメーション
Xamlで定義されたアニメーションでウィンドウを作成し、アプリケーションの読み込み中に表示するだけです->アニメーションのスプラッシュ画面。
WinFormsの場合:
アニメーションを作成するには、フォームのPaintメソッドをオーバーライドする必要がある場合があります。ただし、別のウィンドウの読み込み中は、アニメーションを含む別のウィンドウが表示されたままです。
office 2010のような動的なアニメーションのスプラッシュ画面を作成する場合は、[〜#〜] wpf [〜#〜]を使用し、WinFormsを考えないことをお勧めします。コードでダイナミックなアニメーションを作ろう!
ただし、WinFormsを使用することに決めた場合は、注意が必要であり、次のいずれかの方法を使用する必要があります。
•FlashActiveXオブジェクトを配置し、Flashを使用してアニメーションを作成し、それらをリンクします
•[〜#〜] wpf [〜#〜]およびSilverlightが得意な場合は、Silverlightを使用してアニメーションを作成し、WebBrowserコントロールで表示できます。 FlashまたはHTML5も使用します
最新のアプリケーション設計とスプラッシュ画面の問題には、[〜#〜] wpf [〜#〜]を使用することをお勧めします。
Expression Blendは、アニメーションやxamlデザインを作成するための優れたツールです。ただし、プレーンなxamlを記述してアニメーションをデザインすることもできます。
Expression Blendチュートリアル
Expression Blendを使用したアニメーション:アニメーションの作成方法
Expression Blendを使用したアニメーション:イベントでアニメーションを開始する方法
MSDN情報
アニメーションの概要
Winformsを使用すると、非常に複雑になります。 GUI全体がCPUによってレンダリングされます(GPUサポートなし)が、カスタムユーザーコントロールを作成してPaint
イベントを上書きし、描画にGDIを使用できますが、これはかなりの量になりますwpfを使用するよりも複雑です。
Winformsでは、最も簡単な方法は、スプラッシュスクリーン上でアニメーションGIFを使用してPictureBoxを使用することです。
このようにして、コードよりもアニメーションに多くの時間を費やすことができます。
スプラッシュスクリーンの詳細なガイドは次のとおりです。 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では、プロジェクトを右クリック>新しいアイテムを追加>スプラッシュ画面をクリックするだけで非常に簡単です。 これ
それを説明する簡単な例です。