Пример #1
0
        private static void thumbnail_TabbedThumbnailClosed(object sender, TabbedThumbnailClosedEventArgs e)
        {
            //var layoutDoc = LayoutPane.Children.Where(x => x.Content == e.WindowsControl).SingleOrDefault();
            LayoutDocumentPaneGroup paneGroup = (LayoutDocumentPaneGroup)((LayoutPanel)dockManager.Layout.Children.ElementAt(0)).Children[0];
            LayoutContent           layoutDoc = null;

            foreach (LayoutDocumentPane a in paneGroup.Children)
            {
                layoutDoc = a.Children.Where(x => x.Content == e.WindowsControl).SingleOrDefault();
                if (layoutDoc != null)
                {
                    break;
                }
            }
            if (layoutDoc == null)
            {
                return;
            }
            var controlView = layoutDoc.Content as IControlView;

            if (controlView == null)
            {
                controlView = ((Frame)layoutDoc.Content).Content as IControlView;
            }
            if (controlView != null && controlView.IsModified)
            {
                BAMessageBox.ShowInfo(Strings.Message_MainWindow_ShowPage_ModifiedView);
            }
            layoutDoc.ContentId = "CodeRemoval";
            layoutDoc.Parent.RemoveChild(layoutDoc);
            SetActivePreview((UIElement)dockManager.ActiveContent);
        }
Пример #2
0
        void preview_TabbedThumbnailClosed(object sender, TabbedThumbnailClosedEventArgs e)
        {
            TabPage pageClosed = null;

            // Find the tabpage that was "closed" by the user (via the taskbar tabbed thumbnail)
            foreach (TabPage page in tabControl1.TabPages)
            {
                if (page.Handle == e.WindowHandle)
                {
                    pageClosed = page;
                    break;
                }
            }

            if (pageClosed != null)
            {
                // Remove the event handlers
                WebBrowser wb = pageClosed.Controls[0] as WebBrowser;

                if (wb != null)
                {
                    wb.DocumentTitleChanged -= new EventHandler(wb_DocumentTitleChanged);
                    //wb.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
                    wb.Navigated              -= new WebBrowserNavigatedEventHandler(wb_Navigated);
                    wb.ProgressChanged        -= new WebBrowserProgressChangedEventHandler(wb_ProgressChanged);
                    wb.Document.Window.Scroll -= new HtmlElementEventHandler(Window_Scroll);

                    wb.Dispose();
                }
                else
                {
                    // It's most likely a RichTextBox.

                    RichTextBox rtbText = pageClosed.Controls[0] as RichTextBox;

                    if (rtbText != null)
                    {
                        rtbText.KeyDown   -= new KeyEventHandler(rtbText_KeyDown);
                        rtbText.MouseMove -= new MouseEventHandler(rtbText_MouseMove);
                        rtbText.KeyUp     -= new KeyEventHandler(rtbText_KeyUp);
                    }

                    rtbText.Dispose();
                }

                // Finally, remove the tab from our UI
                if (pageClosed != null)
                {
                    tabControl1.TabPages.Remove(pageClosed);
                }

                // Dispose the tab
                pageClosed.Dispose();

                if (tabControl1.TabPages.Count > 0)
                {
                    button2.Enabled = true;
                }
                else
                {
                    button2.Enabled = false;
                }
            }

            TabbedThumbnail tabbedThumbnail = sender as TabbedThumbnail;

            if (tabbedThumbnail != null)
            {
                // Remove the event handlers from the tab preview
                tabbedThumbnail.TabbedThumbnailActivated -= (preview_TabbedThumbnailActivated);
                tabbedThumbnail.TabbedThumbnailClosed    -= (preview_TabbedThumbnailClosed);
                tabbedThumbnail.TabbedThumbnailMaximized -= (preview_TabbedThumbnailMaximized);
                tabbedThumbnail.TabbedThumbnailMinimized -= (preview_TabbedThumbnailMinimized);
            }
        }