.Net でフォームを作成すると、縦向きレイアウトのダイアログ ボックスとして表示されます。
通常、横向きや逆さまに読むのが好きな人はいませんが、フォームを回転させるのには非常に正当な理由があります。
Windows Vista で C# を使用する方法を知っている人はいますか?
.Net でフォームを作成すると、縦向きレイアウトのダイアログ ボックスとして表示されます。
通常、横向きや逆さまに読むのが好きな人はいませんが、フォームを回転させるのには非常に正当な理由があります。
Windows Vista で C# を使用する方法を知っている人はいますか?
それはWinFormsにある必要がありますか? これは、回転変換を使用して、WPF で非常に簡単に実行できます。残念ながら、WindowsFormsHost と WPF の統合では、回転変換は許可されていません。
編集
問題のフォームが投稿者の制御範囲外であることを理解しました。コントロールを WPF で記述しても問題は解決しません。
これは少し余分な作業になりますが、主にフォームのコンテンツを回転させる必要がある場合(これまでに見たことのないタイトルバーやウィンドウコントロールなどを含むウィンドウ全体ではない場合)、代わりに使用できます。 90度回転した完全に所有者が描画したユーザーコントロールを作成し、通常のフォームにドロップします。GraphicsオブジェクトでRotateTransformを実行してから、すべてを通常どおりに描画できるため、すべての描画を調整する必要はありません。
または、フォーム全体を回転させる必要がある場合は、フォームをフチなしにしてから基本的に同じことを行い、タイトルバーとウィンドウコントロールを自分で描画することもできます。
更新:C#で画面全体を回転させる方法を示すMSDN記事へのリンクは次のとおりです。
http://msdn.microsoft.com/en-us/library/ms812499.aspx
これは通常のWindows(Windows Mobileではない)用であるため、アプリケーションのフォームだけでなくすべてのWindowsを回転させますが、ネズミイルカでも機能するはずです。これが機能する速度と全体的なニーズに応じて、アプリケーションがフォーカスを取得したときに画面を90度回転し、アプリがフォーカスを失ったときに画面を通常の状態に戻すことができます。
更新2: あなたの質問とコメントを読み直しました。別のアプリケーションのウィンドウを別のプロセスでローテーションすることについて話しているので、WPFは間違いなくここであなたを助けません。MSDNリンクが必要な場合があります。アプリケーションでは、画面を90度回転させてから、別のプロセスで他のアプリケーションを起動します。これは、個別のアプリケーションのウィンドウを強制的に最大化できる場合に最適に機能します。これは、FindWindowAPIとSendMessageAPIをP/ Invokingすることで実行できます(ウィンドウを常に一番上にすると、コンピューターが一種のキオスクになります。このアプリケーションのモード)。基本的に別のアプリケーションの開始をブロック呼び出しにするバージョンのプロセスコードがあります。つまり、アプリはシェル化されたアプリケーションが閉じるのを待ってから再開します。アプリが閉じたら、画面を通常の向きに戻すことができます。