openfiletab.cs
来自「全功能c#编译器」· CS 代码 · 共 184 行
CS
184 行
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <version value="$version"/>
// </file>
using System;
using System.IO;
using System.Drawing;
using System.Diagnostics;
using System.CodeDom.Compiler;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI;
using ICSharpCode.Core.AddIns;
using ICSharpCode.Core.Services;
using Reflector.UserInterface;
using ICSharpCode.SharpDevelop.Services;
namespace ICSharpCode.SharpDevelop.Gui.Components
{
// public class OpenFileTab : IOwnerState
// {
//// readonly static string contextMenuPath = "/SharpDevelop/Workbench/OpenFileTab/ContextMenu";
//
//
// int clickedTabIndex = -1;
//
// public IWorkbenchWindow ClickedWindow {
// get {
//// if (clickedTabIndex == -1) {
//// return null;
//// }
//// return ((MyTabPage)TabPages[clickedTabIndex]).Window;
// return null;
// }
// }
//
// public int ClickedTabIndex {
// get {
// return clickedTabIndex;
// }
// set {
// clickedTabIndex = value;
// }
// }
//
// public OpenFileTab()
// {
//// Appearance = WeifenLuo.WinFormsUI.TabControl.VisualAppearance.MultiDocument;
//// ShowArrows = true;
//// ShowClose = true;
////
//// ClosePressed += new EventHandler(MyClosePressed);
//// SelectionChanged += new EventHandler(MySelectionChanged);
//// PropertyService propertyService = (PropertyService)ServiceManager.Services.GetService(typeof(PropertyService));
//// Style = (Crownwood.Magic.Common.VisualStyle)propertyService.GetProperty("ICSharpCode.SharpDevelop.Gui.TabVisualStyle", Crownwood.Magic.Common.VisualStyle.IDE);
// }
//
// public class MyTabPage
// {
// IWorkbenchWindow window;
// OpenFileTab tab;
//
// public IWorkbenchWindow Window {
// get {
// return window;
// }
// }
//
// public MyTabPage(OpenFileTab tab, IWorkbenchWindow window)
// {
// this.tab = tab;
// this.window = window;
//
// window.TitleChanged += new EventHandler(TitleChanged);
// window.CloseEvent += new EventHandler(CloseEvent);
// window.WindowSelected += new EventHandler(SelectEvent);
// TitleChanged(null, null);
// }
//
// public void SelectPage()
// {
//// for (int i = 0; i < tab.TabPages.Count; ++i) {
//// if (tab.TabPages[i] == this) {
//// tab.SelectedIndex = i;
//// break;
//// }
//// }
// }
//
// void CloseEvent(object sender, EventArgs e)
// {
//// if (tab.TabPages.Contains(this)) {
//// tab.TabPages.Remove(this);
//// }
// }
//
// void SelectEvent(object sender, EventArgs e)
// {
// SelectPage();
// }
//
// void TitleChanged(object sender, EventArgs e)
// {
//// Title = Path.GetFileName(window.Title);
// }
// }
//
//// protected override void OnMouseUp(MouseEventArgs e)
//// {
//// if (e.Button == MouseButtons.Right) {
//// MenuService menuService = (MenuService)ICSharpCode.Core.Services.ServiceManager.Services.GetService(typeof(MenuService));
//// menuService.ShowContextMenu(this, contextMenuPath, this, e.X, e.Y);
//// } else {
//// base.OnMouseUp(e);
//// }
//// }
////
//// protected override void OnMouseDown(MouseEventArgs e)
//// {
////// if (e.Button == MouseButtons.Left) {
//// base.OnMouseDown(e);
////// }
//// clickedTabIndex = -1;
////
//// for(int i=0; i<_tabPages.Count; i++) {
//// Rectangle rect = (Rectangle)_tabRects[i];
//// if (rect.Contains(e.X, e.Y)) {
//// clickedTabIndex = i;
//// break;
//// }
//// }
//// Console.WriteLine("CLICKED TAB INDEX : " + clickedTabIndex);
////
//// internalState = OpenFileTabState.Nothing;
//// if (clickedTabIndex != -1) {
//// if (ClickedWindow.ViewContent.FileName == null) {
//// internalState |= OpenFileTabState.FileUntitled;
//// }
//// if (ClickedWindow.ViewContent.IsDirty) {
//// internalState |= OpenFileTabState.FileDirty;
//// }
//// if (ClickedWindow is Form) {
//// internalState |= OpenFileTabState.ClickedWindowIsForm;
//// }
////// KSL Start, Fix for loosing focus when clicking the tab control to select another tab
//// ((MyTabPage)TabPages[SelectedIndex]).Window.SelectWindow();
////// KSL End
//// }
//// }
//
// void MyClosePressed(object sender, EventArgs e)
// {
//// if (SelectedIndex >= 0 && SelectedIndex < TabPages.Count) {
//// MyTabPage page = (MyTabPage)TabPages[SelectedIndex];
//// page.Window.CloseWindow(false);
//// }
// }
// void MySelectionChanged(object sender, EventArgs e)
// {
//// if (SelectedIndex >= 0 && SelectedIndex < TabPages.Count && TabPages[SelectedIndex] != null) {
//// ((MyTabPage)TabPages[SelectedIndex]).Window.SelectWindow();
//// }
// }
//
// public void AddWindow(IWorkbenchWindow window)
// {
//// WeifenLuo.WinFormsUI.TabPage tabPage = new MyTabPage(this, window);
//// tabPage.Selected = true;
//// tabPage.Tag = window;
//// try {
//// TabPages.Add(tabPage);
//// } catch (Exception e) {
//// IMessageService messageService =(IMessageService)ServiceManager.Services.GetService(typeof(IMessageService));
//// messageService.ShowError(e, "Error while adding tab page");
//// }
//// return tabPage;
// }
// }
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?