protected virtual void OnShowMessage(ShowMessageEventArgs e)
        {
            var handler = this.Events["ShowMessage"] as EventHandler <ShowMessageEventArgs>;

            if (handler != null)
            {
                handler(this, e);
            }
        }
            public int ShowMessage(IntPtr hwnd, string lpstrText, string lpstrCaption, int dwType, string lpstrHelpFile, int dwHelpContext, out int lpResult)
            {
                var e = new ShowMessageEventArgs(lpstrText, lpstrCaption, dwType, lpstrHelpFile, dwHelpContext);

                this.host.OnShowMessage(e);

                if (e.Handled)
                {
                    lpResult = e.Result;
                    return(0);
                }
                else
                {
                    lpResult = 0;
                    return(1);
                }
            }