Ce serait un peu de travail supplémentaire, mais si vous avez juste besoin principalement le contenu de la forme à rotation (et non la totalité de la fenêtre y compris le titre barre, contrôles de fenêtre, etc., que je n'avais jamais vu auparavant), vous pouviez à la place créer un contrôle utilisateur entièrement dessiné par le propriétaire, pivotant de 90 degrés, et le déposer sur une forme ordinaire. Vous n'auriez même pas besoin d'ajuster votre dessin de tout, puisque vous pourriez faire un RotateTransform sur votre objet Graphics, puis dessiner tout normalement.
Si vous avez besoin de faire pivoter la totalité du formulaire, vous pouvez créer un formulaire sans bordure, puis faire la même chose, en dessinant vous-même la barre de titre et les contrôles Windows.
Mise à jour: voici un lien vers un article MSDN qui montre comment faire pivoter l'écran entier en C#:
http://msdn.microsoft.com/en-us/library/ms812499.aspx
Ceci est pour Windows régulière (pas Windows Mobile), il devrait donc travailler pour vos marsouins, bien qu'il fasse pivoter tout Windows et pas seulement le formulaire de votre application. Selon la vitesse à laquelle cela fonctionne et vos besoins globaux, vous pouvez faire pivoter l'écran de 90 degrés lorsque votre application obtient le focus, puis le faire revenir à la normale lorsque votre application perd le focus.
Mise à jour 2: Je viens de relire votre question et vos commentaires. Vous parlez de la rotation de la fenêtre d'une application distincte dans un processus séparé, donc WPF définitivement pas vous aider ici. Le lien MSDN peut être ce dont vous avez besoin. Dans votre application, vous devez faire pivoter l'écran de 90 degrés, puis démarrer l'autre application dans un processus distinct. Cela fonctionnerait mieux si vous pouviez forcer la fenêtre de l'application séparée à être agrandie, ce que vous pouvez faire en appelant les API FindWindow et SendMessage (vous pouvez également rendre la fenêtre toujours visible, ce qui placerait votre ordinateur dans une sorte de kiosque mode pour cette application). Il existe une version du code de processus qui, fondamentalement, fait d'une autre application un appel bloquant, ce qui signifie que votre application attendra la fermeture de l'application shell avant de la reprendre. Une fois l'application fermée, vous pouvez remettre l'écran dans son orientation normale.
Peut-être pourriez-vous élaborer sur votre besoin spécial d'avoir cette rotation. Ne pas dire qu'il va résoudre vos problèmes, mais notre logiciel fonctionne sur des tablettes et toutes les tablettes gérer la rotation de l'écran via les pilotes de la carte vidéo. Je veux juste m'assurer que vous ne réinventez pas la roue –
Merci. J'ai une application similaire à la tablette PC mais sur un PC Vista (pas une tablette). Oui, ce serait une alternative raisonnable pour faire pivoter l'écran.Je ne sais pas comment le faire en .NET, C#, Vista. La plupart des rotations d'écran que j'ai vues sont supportées par WinCe, etc. –