C# で windows.form を使用してスクリーンセーバーを開発している場合、複数のモニターをどのようにサポートしますか? 明らかに、モニターを列挙し、それらのフォームも作成するか、単に黒くフェードする方法が必要ですか? 誰かがこれを解決しましたか?
どんな洞察も役に立ちますが、最善のアプローチは何ですか?
C# で windows.form を使用してスクリーンセーバーを開発している場合、複数のモニターをどのようにサポートしますか? 明らかに、モニターを列挙し、それらのフォームも作成するか、単に黒くフェードする方法が必要ですか? 誰かがこれを解決しましたか?
どんな洞察も役に立ちますが、最善のアプローチは何ですか?
CodeProject のこの記事をお勧めします。最初のスクリーン セーバーを作成し、複数のモニターのサポートについて説明するのに役立ちました。
System.Windows.Forms.Screen
クラスには、モニターの数とそれらのモニターの境界について必要なすべての情報が含まれています。このプロパティAllScreens
は、開始するのに適した場所です。
for (int i = Screen.AllScreens.GetLowerBound(0); i <= Screen.AllScreens.GetUpperBound(0); i++)
{
ScreensaverFormList[i].Bounds = Screen.AllScreens[i].Bounds;
}