我處於這種情況,我需要在新郵件檢查器窗口(撰寫/答覆/轉發/ 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);
請幫
那麼你基本上試圖掩蓋檢查員?這聽起來不像是一個可行或特別美麗的解決方案。爲什麼不將自己的Form區域添加到表單中? –
嗨德米特里我很抱歉,但我不擅長表單區域。我想要的是一個彈出附件添加事件,我想從用戶獲得確認添加附件。確認彈出窗口我想在檢查窗口中完全放在附件箱的前面,並且想要將它與其掛鉤,因此無論我的窗口將隨之移動的檢查員的大小如何。希望它清晰瞭解請求 –
將Inspector對象投射到IOleWindow並調用IOleWindow.GetWindow。然後,您可以使用返回的HWND作爲各種Windows PAI功能來查詢檢查員的大小和位置。 –