[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 671
  • Last Modified:

Outlook 2003 Word as Editor and .NET Forms

Our company has been working on an Outlook AddIn using VSTO which has a number of issues which we have not been able to resolve yet.
We would appreciate any insight or assistance you can offer.

Our .NET AddIn includes support for using Word as editor in Outlook 2003. On the editor window we add a custom command bar button that launches a .NET form. The problem is that the .NET form does not always appear in front of the inspector when Word is being used as the editor.
I have attempted to use the .NET methods and properties available on the Form (TopLevel, TopMost, BringToFront) to make it appear above the Outlook window but none of them were consistently working.

Is there any way I can ensure the .NET form comes out on top as our users are becoming frustrated with this? Thanks.
private void OnSendAndLogClick(Office.CommandBarButton Ctrl, ref bool CancelDefault)
 // Other code 
 using (FrmRegisterDMSEmail registerscreen = new FrmRegisterDMSEmail(_registerEmail))
  if (registerscreen.ShowDialog() == DialogResult.OK)
 // Other code

Open in new window

1 Solution
timetracerAuthor Commented:
I have been able to resolve this issue by getting the handle of the Word Editor window with the FindWindow API call (the class is "OpusApp" and the caption is the caption of the inspector window).

I then wrapped the window handle in a class which implements the IWin32Window interface, and can therefore be passed to ShowDialog.

These steps caused the .NET form to correctly appear in front every time on the development machine.

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now