将自定义win窗体挂接到Outlook检查器窗口c#
我的情况是,每当用户附加文件时,我需要在新邮件检查器窗口(compose/reply/forward/replyall)上弹出一个窗口,我需要弹出一个从现在开始的窗口,并且我能够显示我的表单。 现在我关心的是表格的位置。我设法在表单加载事件上编写手动调整代码,以将其定位到所需的位置。但这仅适用于用户以最大化模式打开“撰写邮件”窗口的情况。如果用户手动调整邮件窗口的大小或将其移动到某个位置,则表单会完全混乱,这一点很明显,因为它没有连接到父窗口 这是在表单初始化事件上编写的代码:将自定义win窗体挂接到Outlook检查器窗口c#,c#,vsto,outlook-addin,C#,Vsto,Outlook Addin,我的情况是,每当用户附加文件时,我需要在新邮件检查器窗口(compose/reply/forward/replyall)上弹出一个窗口,我需要弹出一个从现在开始的窗口,并且我能够显示我的表单。 现在我关心的是表格的位置。我设法在表单加载事件上编写手动调整代码,以将其定位到所需的位置。但这仅适用于用户以最大化模式打开“撰写邮件”窗口的情况。如果用户手动调整邮件窗口的大小或将其移动到某个位置,则表单会完全混乱,这一点很明显,因为它没有连接到父窗口 这是在表单初始化事件上编写的代码: Initiali
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);
请帮忙那么你实际上是想掩盖检查员?这听起来不是一个可行或特别漂亮的解决方案。为什么不在表单中添加您自己的表单区域?嗨,Dmitry,对不起,我的表单区域不好。我想要的是一个关于附件添加事件的弹出窗口,我想从用户那里得到添加附件的确认。我想把确认弹出窗口放在Inspector窗口中附件框的正前方,并想用它来钩住它,这样无论我的窗口大小都会随之移动。希望它能让需求更加清晰,请将检查器对象转换为IOleWindow并调用IOleWindow.GetWindow。然后,您可以为各种Windows PAI函数使用返回的HWND来查询检查器的大小和位置。