示例#1
0
        /// <include file='doc\WindowPane.uex' path='docs/doc[@for="WindowPane.Dispose1"]' />
        /// <devdoc>
        ///     Called when this tool window pane is being disposed.
        /// </devdoc>
        override protected void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (control != null)
                {
                    try
                    {
                        if (control is IDisposable)
                        {
                            control.Dispose();
                        }
                    }
                    catch (Exception e)
                    {
                        System.Diagnostics.Debug.Fail(String.Format("Failed to dispose {0} controls.\n{1}", this.GetType().FullName, e.Message));
                    }
                    control = null;
                }

                IVsWindowFrame windowFrame = (IVsWindowFrame)this.Frame;
                if (windowFrame != null)
                {
                    // Note: don't check for the return code here.
                    windowFrame.CloseFrame((uint)__FRAMECLOSE.FRAMECLOSE_SaveIfDirty);
                }
            }
            base.Dispose(disposing);
        }
示例#2
0
        public P4ToolWindow() : base(null)
        {
            // set the window title
            this.Caption = Resources.ResourceManager.GetString("Sample Tool Window");

            // set the CommandID for the window ToolBar
            this.ToolBar = new CommandID(GuidList.guidP4VsProviderCmdSet, CommandId.imnuToolWindowToolbarMenu);

            // ***
            // *** If using a tool bar will need to uncomment this and add the resources back into the vsct file
            // ***     and resources
            // ***
            // set the icon for the frame
            //this.BitmapResourceID = CommandId.ibmpToolWindowsImages;  // bitmap strip resource ID
            //this.BitmapIndex = CommandId.iconHistory;   // index in the bitmap strip

            control = new P4ToolWindowControl();

            control.Dock = DockStyle.Fill;
        }