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

📄 layerselectable.cs

📁 C# 结合ArcEngine编写的二次程序
💻 CS
字号:

using ESRI.ArcGIS.ADF.BaseClasses;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.SystemUI;

namespace GIS二次开发_简单_
{
	public sealed class LayerSelectable : BaseCommand, ICommandSubType
	{
		private IMapControl3 m_mapControl;
		private long m_subType;

		public LayerSelectable()
		{
		}
	
		public override void OnClick()
		{
			IFeatureLayer layer = (IFeatureLayer) m_mapControl.CustomProperty;
			if (m_subType == 1)	layer.Selectable = true;
			if (m_subType == 2) layer.Selectable = false;
		}
	
		public override void OnCreate(object hook)
		{
			m_mapControl = (IMapControl3) hook;
		}
		
		public override bool Enabled
		{
			get
			{
				ILayer layer = (ILayer) m_mapControl.CustomProperty;
				if (layer is IFeatureLayer)
				{
					IFeatureLayer featureLayer = (IFeatureLayer) layer;
					if (m_subType == 1) return !featureLayer.Selectable;
					else return featureLayer.Selectable;
				}
				else
				{
					return false;
				}
			}
		}
	
		public int GetCount()
		{
			return 2;
		}
	
		public void SetSubType(int SubType)
		{
			m_subType = SubType;
		}
	
		public override string Caption
		{
			get
			{
				if (m_subType == 1) return "设置图层为可选";
				else  return "设置图层为不可选";
			}
		}
	}
}

⌨️ 快捷键说明

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