referencepaths.cs

来自「SharpDevelop2.0.0 c#开发免费工具」· CS 代码 · 共 65 行

CS
65
字号
// <file>
//     <copyright see="prj:///doc/copyright.txt"/>
//     <license see="prj:///doc/license.txt"/>
//     <owner name="none" email=""/>
//     <version>$Revision: 915 $</version>
// </file>

using System;
using System.Windows.Forms;

using ICSharpCode.SharpDevelop.Internal.ExternalTool;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project;

namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
{
	public class ReferencePaths : AbstractProjectOptionPanel
	{
		public override void LoadPanelContents()
		{
			InitializeHelper();
			
			StringListEditor editor = new StringListEditor();
			editor.BrowseForDirectory = true;
			editor.ListCaption = StringParser.Parse("&${res:Dialog.ProjectOptions.ReferencePaths}:");
			editor.TitleText = StringParser.Parse("&${res:Dialog.ExportProjectToHtml.FolderLabel}");
			editor.AddButtonText = StringParser.Parse("${res:Dialog.ProjectOptions.ReferencePaths.AddPath}");
			editor.ListChanged += delegate { IsDirty = true; };
			SemicolonSeparatedStringListBinding b = new SemicolonSeparatedStringListBinding(editor);
			helper.AddBinding("ReferencePath", b);
			this.Controls.Add(editor);
			b.CreateLocationButton(editor);
			
			helper.AddConfigurationSelector(this);
		}
		
		public class SemicolonSeparatedStringListBinding : ConfigurationGuiBinding
		{
			StringListEditor editor;
			
			public SemicolonSeparatedStringListBinding(StringListEditor editor)
			{
				this.editor = editor;
			}
			
			public override void Load()
			{
				string[] values = Get("").Split(';');
				if (values.Length == 1 && values[0].Length == 0) {
					editor.LoadList(new string[0]);
				} else {
					editor.LoadList(values);
				}
			}
			
			public override bool Save()
			{
				Set(string.Join(";", editor.GetList()));
				return true;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?