Which technology should I use to pop up a simple form in my add-in DLL?

Posted by Decker on Stack Overflow See other posts from Stack Overflow or by Decker
Published on 2010-06-08T21:17:16Z Indexed on 2010/06/08 21:22 UTC
Read the original article Hit count: 250

Filed under:
|
|
|

I'm building an assembly that runs as an "add-on" to a vendor's Outlook add-in. When it is time for me to execute my "action", I have to put up a simple window with a few simple controls. The vendor's add-in provides me with the parent window's integer handle. I am able to put up a form pretty easily with WinForms by adding are reference to System.Windows.Forms from my assembly and with the following code:

        FrmHistoryDisplay frm = new FrmHistoryDisplay();
        frm.ShowDialog(new ParentWindowWrapper(_parentWindowHandle));

where ParentWindowWrapper is a shim class around the window handle I'm given

        private class ParentWindowWrapper : IWin32Window {

        private int _parentWindowHandle;

        public ParentWindowWrapper(int parentWindowHandle) {
            _parentWindowHandle = parentWindowHandle;
        }

        public IntPtr Handle {
            get { return new IntPtr(_parentWindowHandle); }
        }
    }

The Form's ShowDialog method takes an IWin32Window implementor to wrap the parent's window handle.

This all works and seems simple enough. I was just wondering whether something similar can be done with a WPF window rather than a WinForm Form? Should I care?

© Stack Overflow or respective owner

Related posts about wpf

Related posts about winforms