2017-05-29 5 views
0

J'ai un Outlook Add In appelé TMO (http://gotmo.co.uk) qui a un formulaire Windows ouvert en cliquant sur le bouton Aide dans la barre d'outils Outlook. Le problème est que lorsque j'utilise TMO sur des écrans à haute résolution tels que Surface Pro, le rendu du formulaire est très compliqué (voir capture d'écran). Cependant sur d'autres ordinateurs portables le formulaire rend correctement. En fait, si je lance une application de test sur Surface Pro à partir de laquelle je charge le même formulaire, il s'affiche correctement. Voir les captures d'écran ci-jointes. Depuis ma lecture jusqu'à présent, Windows Forms nécessite une manipulation spéciale pour un rendu correct sur les écrans à haute résolution. Mais je suis incapable de comprendre quel code doit être écrit pour le faire. Mes deux questions spécifiques sontWindows Forms et écrans haute résolution

  1. POURQUOI la même forme diffère-t-elle sur les écrans haute résolution lorsqu'elle est lancée à partir de Outlook vs STand seule.
  2. Quel code doit être écrit (génériquement) pour gérer le rendu Windows FOrms sur les écrans à haute résolution.

Distorted

Correct

Répondre

0

Activer par moniteur sensibilisation DPI dans le app.config

<System.Windows.Forms.ApplicationConfigurationSection> 
    <add key="DpiAwareness" value="PerMonitorV2" /> 
</System.Windows.Forms.ApplicationConfigurationSection> 

Référence - https://msdn.microsoft.com/en-us/library/mt799789(v=vs.110).aspx

+0

Merci, mais ma demande est codé contre 4,6 .NET. 1 et passer à la version 4.7 va être un défi pour mes clients. Ce paramètre de configuration est présent dans 4.7. – Nikhil