ArcEngine——捕捉设置

本文介绍了一个基于ArcGIS的Snapping选项配置界面,通过该界面可以调整Snapping的容差、符号颜色以及是否忽略基底图层和特征服务图层。提供了设置Snapping环境的方法,包括读取和更新Snapping环境参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Framework;
using ESRI.ArcGIS.Controls;

namespace NRIIACP.SpatialDataProcessing.Tool.Snapping {
    public partial class SnappingOptionsForm : DevExpress.XtraEditors.XtraForm {
        private ISnappingEnvironment2 m_SnappingEnvironment2;
        #region 方法块
        private void Init() {
            Tolerance.Value = m_SnappingEnvironment2.Tolerance;
            SymbolColor.Color = ColorTranslator.FromOle(m_SnappingEnvironment2.SnapSymbolColor.RGB);
            SnapToBasemapLayers.Checked = m_SnappingEnvironment2.IgnoreBasemapLayers;
            SnapToFeatureServiceLayer.Checked = m_SnappingEnvironment2.IgnoreIMSLayers;
        }

        private void SetSnappingEnvironment() {
            m_SnappingEnvironment2.Tolerance = (int)Tolerance.Value;
            m_SnappingEnvironment2.SnapSymbolColor.RGB = ColorTranslator.ToOle(SymbolColor.Color);
            m_SnappingEnvironment2.IgnoreBasemapLayers = SnapToBasemapLayers.Checked;
            m_SnappingEnvironment2.IgnoreIMSLayers = SnapToFeatureServiceLayer.Checked;
        }
        #endregion

        public SnappingOptionsForm(ISnappingEnvironment2 _SnappingEnvironment2) {
            InitializeComponent();
            m_SnappingEnvironment2 = _SnappingEnvironment2;
            Init();
        }

        private void SymbolColor_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) {
            tagRECT pTag = new tagRECT();
            pTag.left = SymbolColor.PointToScreen(SymbolColor.Location).X - 88;
            pTag.bottom = SymbolColor.PointToScreen(SymbolColor.Location).Y - 31;
            IColorPalette pColorPalette = new ColorPaletteClass();
            pColorPalette.TrackPopupMenu(ref pTag, m_SnappingEnvironment2.SnapSymbolColor, false, 0);
            SymbolColor.Color = ColorTranslator.FromOle(pColorPalette.Color.RGB);
        }

        private void btnCancel_MouseClick(object sender, MouseEventArgs e) {
            Close();
        }

        private void btnConfirm_MouseClick(object sender, MouseEventArgs e) {
            SetSnappingEnvironment();
            Close();
        }

        private void ShowTips_CheckedChanged(object sender, EventArgs e) {
            LayerName.Enabled = ShowTips.Checked;
            SnapType.Enabled = ShowTips.Checked;
            Background.Enabled = ShowTips.Checked;
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值