2017-03-11 85 views
0

我處於這種情況,我需要在新郵件檢查器窗口(撰寫/答覆/轉發/ replyall)上彈出一個彈出窗口,每當用戶連接文件,我需要彈出一個窗口現在正在發生,我能夠展示我的形式。 現在形式的位置是我關心的。我設法在表單加載事件上編寫手動調整代碼,以將其定位在所需位置。但只有在用戶以最大化模式打開撰寫郵件窗口的情況下。如果用戶手動調整郵件窗口大小或將它移動到某處,表單完全搞亂了,並且顯然是因爲它沒有與父窗口掛鉤。掛鉤自定義win窗體到Outlook檢查器窗口c#

這是寫在表格初始化事件的代碼:

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); 

請幫

+0

那麼你基本上試圖掩蓋檢查員?這聽起來不像是一個可行或特別美麗的解決方案。爲什麼不將自己的Form區域添加到表單中? –

+0

嗨德米特里我很抱歉,但我不擅長表單區域。我想要的是一個彈出附件添加事件,我想從用戶獲得確認添加附件。確認彈出窗口我想在檢查窗口中完全放在附件箱的前面,並且想要將它與其掛鉤,因此無論我的窗口將隨之移動的檢查員的大小如何。希望它清晰瞭解請求 –

+0

將Inspector對象投射到IOleWindow並調用IOleWindow.GetWindow。然後,您可以使用返回的HWND作爲各種Windows PAI功能來查詢檢查員的大小和位置。 –

回答

0

我不會涉及檢查器窗口。這是一個簡單的提示,不是行動,而是非常小的窗口。只需要與檢查員掛鉤,以便與父檢查員可以在同一位置。或者如果檢查員調整大小

+0

這不是一個答案。請使用評論部分。 –