2017-03-11 4 views
0

Je suis dans une situation où je dois donner un popup sur Nouvelle fenêtre inspecteur de courrier (composer/répondre/transmettre/replyall) chaque fois que l'utilisateur attache un fichier dont j'ai besoin se passe à partir de maintenant et je suis capable de montrer ma forme. En ce moment, la position du formulaire est ma préoccupation. J'ai réussi à écrire le code d'ajustement manuel sur l'événement de chargement de formulaire pour le positionner à l'endroit désiré. Mais ce n'est que dans le cas où l'utilisateur ouvre la fenêtre de composition du message en mode Maximiser. Si l'utilisateur redimensionne manuellement la fenêtre de courrier ou la déplace quelque part, le formulaire est complètement chamboulé et il est évident qu'il n'est pas accroché au parent.crochet personnalisé gagner la forme à la fenêtre de l'inspecteur Outlook C#

C'est le code écrit sur le formulaire initialiser l'événement:

InitializeComponent(); 
      this.StartPosition = FormStartPosition.Manual; 
      Outlook.Application oApplication = Globals.ThisAddIn.Application; 
      Outlook.Inspector inspector = oApplication.ActiveInspector(); 
      try 
      { 
       //Get current inspector window 

       Utility.Top = inspector.Top; 
       Utility.Left = inspector.Left; 
       Utility.Width = inspector.Width - 270; 
       Utility.Height = inspector.Height/2; 
       this.Location = new Point(Utility.Width, Utility.Height - 110); 

S'il vous plaît aider

+0

Vous tentez donc essentiellement de couvrir l'inspecteur? Cela ne semble pas être une solution viable ou particulièrement belle. Pourquoi ne pas ajouter votre propre région de formulaire au formulaire? –

+0

Salut Dmitry Je suis désolé mais je ne suis pas bon dans la région de la forme. Ce que je veux est un popup sur la pièce jointe Ajouter un événement où je veux obtenir la confirmation de l'utilisateur pour ajouter une pièce jointe. La fenêtre contextuelle de confirmation que je veux placer exactement devant la boîte à pièces jointes dans la fenêtre Inspecteur et que vous voulez accrocher avec la taille de l'inspecteur avec laquelle ma fenêtre se déplacera. Espérons qu'il clarifie l'exigence s'il vous plaît –

+0

Cast l'objet inspecteur à IOleWindow et appelez IOleWindow.GetWindow. Vous pouvez ensuite utiliser le HWND renvoyé pour les diverses fonctions Windows PAI pour interroger la taille et la position de l'inspecteur. –

Répondre

0

Je ne couvre pas la fenêtre d'inspecteur. C'est une simple invite pour oui pas d'action et c'est une très petite fenêtre. Je veux juste un crochet avec l'inspecteur afin qu'il puisse être au même endroit que l'enfant avec l'inspecteur parent. Ou si l'inspecteur redimensionne

+0

Ceci n'est pas une réponse. Merci d'utiliser la section des commentaires. –