リサイズイベントで、スクリーンオリエンテーションを変更すると例外

環境: Windows Mobile 5.0、.NET Compact Framework 2.0
 
 
レイアウトがめんどくさいので、スクリーンのオリエンテーションが変更されるときに発生するリサイズイベントの中で、スクリーンのオリエンテーションを変更しようとすると、例外("RegistryException")になる。
 
        private void Form1_Resize(object sender, EventArgs e)
        {
            if (SystemState.DisplayRotation == 0)
                SystemSettings.ScreenOrientation = ScreenOrientation.Angle90;
        }
 
この対応は、 
..NET Compact Framework 向けの表示方向切り替え対応および高dpi対応アプリケーションの開発
にあるように、ポートレート、ランドスケープ、どちらでも正しくレイアウトするようにする。
 
ただ、コントロールの数が多いと大変。
今回は、面倒だけど、この方法で対処。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です