環境: 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;
}
{
if (SystemState.DisplayRotation == 0)
SystemSettings.ScreenOrientation = ScreenOrientation.Angle90;
}
この対応は、
..NET Compact Framework 向けの表示方向切り替え対応および高dpi対応アプリケーションの開発
にあるように、ポートレート、ランドスケープ、どちらでも正しくレイアウトするようにする。
ただ、コントロールの数が多いと大変。
今回は、面倒だけど、この方法で対処。