⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 assemblytreecontrol.cs

📁 全功能c#编译器
💻 CS
字号:
// <file>
//     <copyright see="prj:///doc/copyright.txt"/>
//     <license see="prj:///doc/license.txt"/>
//     <owner name="Mike Krueger" email="mike@icsharpcode.net"/>
//     <version value="$version"/>
// </file>

using System;
using System.Collections;
using System.IO;
using System.Drawing;
using System.Reflection;
using System.Windows.Forms;
using ICSharpCode.Core.Services;
using ICSharpCode.SharpDevelop.Services;
namespace ICSharpCode.AssemblyAnalyser
{
	/// <summary>
	/// Description of AssemblyTreeControl.	
	/// </summary>
	[ToolboxBitmap(typeof(System.Windows.Forms.TreeView))]
	public class AssemblyTreeControl : System.Windows.Forms.UserControl
	{
		private System.Windows.Forms.TreeView assemblyTreeView;
		TreeNode assembliesNode;
		ResultListControl resultListControl;
		
		public ResultListControl ResultListControl {
			get {
				return resultListControl;
			}
			set {
				resultListControl = value;
			}
		}
		
		public AssemblyTreeControl()
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			InitializeComponent();
			StringParserService stringParserService = (StringParserService)ServiceManager.Services.GetService(typeof(StringParserService));
			ClassBrowserIconsService classBrowserIconService = (ClassBrowserIconsService)ServiceManager.Services.GetService(typeof(ClassBrowserIconsService));
			assemblyTreeView.ImageList = classBrowserIconService.ImageList;
			
			assembliesNode = new TreeNode(stringParserService.Parse("${res:ICSharpCode.AssemblyAnalyser.AssemblyTreeControl.AssembliesNode}"));
			assembliesNode.ImageIndex = assembliesNode.SelectedImageIndex = 0;
			assemblyTreeView.Nodes.Add(assembliesNode);
			assemblyTreeView.AfterCollapse += new TreeViewEventHandler(AssemblyTreeViewAfterCollapse);
			assemblyTreeView.AfterExpand += new TreeViewEventHandler(AssemblyTreeViewAfterExpand);
			assemblyTreeView.AfterSelect += new TreeViewEventHandler(AssemblyTreeViewAfterSelect);
		}
		
		void AssemblyTreeViewAfterCollapse(object sender, TreeViewEventArgs e)
		{
			if (e.Node == assembliesNode) {
				assembliesNode.ImageIndex = assembliesNode.SelectedImageIndex = 0;
			}
		}
		
		void AssemblyTreeViewAfterExpand(object sender, TreeViewEventArgs e)
		{
			if (e.Node == assembliesNode) {
				assembliesNode.ImageIndex = assembliesNode.SelectedImageIndex = 1;
			}
		}
		
		void AssemblyTreeViewAfterSelect(object sender, TreeViewEventArgs e)
		{
			if (e.Node.Tag == null) {
				PrintAllResolutions();
			} else {
				this.resultListControl.PrintReport((ArrayList)e.Node.Tag);
			}
		}
		
		public void PrintAllResolutions()
		{
			ArrayList allResolutions = new ArrayList();
			foreach (TreeNode node in assembliesNode.Nodes) {
				allResolutions.AddRange((ArrayList)node.Tag);
			}
			this.resultListControl.PrintReport(allResolutions);
		}
		
		public void ClearContents()
		{
			Console.WriteLine("CLEAR CONTENTS");
			assembliesNode.Nodes.Clear();
		}
		
		public void AddAssembly(string assemblyFileName, ArrayList resolutions)
		{
			TreeNode newNode = new TreeNode(Path.GetFileName(assemblyFileName));
			newNode.Tag = resolutions;
			newNode.ImageIndex = newNode.SelectedImageIndex = 2;
			assembliesNode.Nodes.Add(newNode);
			assembliesNode.Expand();
		}
		
		#region Windows Forms Designer generated code
		/// <summary>
		/// This method is required for Windows Forms designer support.
		/// Do not change the method contents inside the source code editor. The Forms designer might
		/// not be able to load this method if it was changed manually.
		/// </summary>
		private void InitializeComponent() {
			this.assemblyTreeView = new System.Windows.Forms.TreeView();
			this.SuspendLayout();
			// 
			// assemblyTreeView
			// 
			this.assemblyTreeView.Dock = System.Windows.Forms.DockStyle.Fill;
			this.assemblyTreeView.HideSelection = false;
			this.assemblyTreeView.ImageIndex = -1;
			this.assemblyTreeView.Location = new System.Drawing.Point(0, 0);
			this.assemblyTreeView.Name = "assemblyTreeView";
			this.assemblyTreeView.SelectedImageIndex = -1;
			this.assemblyTreeView.Size = new System.Drawing.Size(292, 266);
			this.assemblyTreeView.TabIndex = 0;
			// 
			// AssemblyTreeControl
			// 
			this.Controls.Add(this.assemblyTreeView);
			this.Name = "AssemblyTreeControl";
			this.Size = new System.Drawing.Size(292, 266);
			this.ResumeLayout(false);
		}
		#endregion
	}
}

⌨️ 快捷键说明

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