ArcGis 中MapControl 框选

void mCtrl_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e)
        {
            #region 框选
            
            
            if (e.button == 4)
            {
                IEnvelope pEnvelope = mCtrl.TrackRectangle();  // 通过鼠标,取得一个包络线对象
                ISelectionEnvironment pSelectionEnv = new SelectionEnvironmentClass();  // 设置一个新环境
                pSelectionEnv.DefaultColor = MapHelper.GetRGBColor(Color.Red);     // 再改变原来要素的眼神值
                mCtrl.Map.SelectByShape(pEnvelope, pSelectionEnv, false);
                mCtrl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);

ISelection selection = mCtrl.Map.FeatureSelection;
                IEnumFeatureSetup enumFeatureSetup = selection as IEnumFeatureSetup;    //这里很必要
                enumFeatureSetup.AllFields = true;                                      //这里很必要
                IEnumFeature enumFeature = enumFeatureSetup as IEnumFeature;
                enumFeature.Reset();
                IFeature feature = enumFeature.Next();

IFeatureLayer pFeatureLayer = (IFeatureLayer)mCtrl.get_Layer(currentLayerIndex);
                IFeatureClass pFeatureClass = (IFeatureClass)pFeatureLayer.FeatureClass;

int fLCDIdx = pFeatureClass.FindField(fieldName);
                lbFields.Items.Clear();
                while (feature != null)
                {
                    var _lcd = feature.get_Value(fLCDIdx);
                    long lcd = Convert.ToInt64(_lcd);
                    lbFields.Items.Add(lcd);
                    feature = enumFeature.Next();
                }
            }

#endregion

mCtrl.Refresh(esriViewDrawPhase.esriViewForeground, Type.Missing, Type.Missing);
        }

时间: 2024-10-19 00:13:02

ArcGis 中MapControl 框选的相关文章

如何使用CAD编辑器中的框选缩放功能?

如何使用CAD编辑器中的框选缩放功能?现在随着人们生活水平的不断提高,越来越多的人们开始对住房有了更多的要求,所有随着CAD行业的发展,也有越来越多的小伙伴们开始加入到CAD这个行业中来,日常的工作就是编辑出各种CAD图纸,但是在编辑CAD图纸的时候,也会遇到许许多多的问题,那就是如何使用CAD编辑器中的框选缩放功能?具体要怎么来进行操作?下面就利用迅捷CAD编辑器标准版来教教大家具体操作步骤,下面我们就一起来看看具体操作方法吧! 步骤一:首先电脑中没有下载安装CAD编辑器的小伙伴们,还是需要在

Ue4中的框选函数

1 void AHUD::GetActorsInSelectionRectangle(TSubclassOf<class AActor> ClassFilter, const FVector2D& FirstPoint, const FVector2D& SecondPoint, TArray<AActor*>& OutActors, bool bIncludeNonCollidingComponents, bool bActorMustBeFullyEnc

在php中验证复选框

PHP接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便.但是还是有解决办法的,就是利用javascript做一下预处理.多个同名复选框在javascript中还是以数组的形式存在的,所以在表单提交之前可以利用javascript把复选框中的信息组合成一个字符数组赋值给表单中的隐藏元素,然后用PHP中的explode函数解析此数组,这样就可以实现复选框信息的传递了.下面举例说明. 假设有这样一个表单: <form name="form1" id=&quo

QTableView中嵌入复选框CheckBox 的四种方法总结

搜索了一下,QTableView中嵌入复选框CheckBox方法有四种: 第一种不能之前显示,必须双击/选中后才能显示,不适用. 第二种比较简单,通常用这种方法. 第三种只适合静态显示静态数据用 第四种比较适合扩展,它除了可以嵌入复选框,还可以通过paint()绘制其它控件,图片等自定义风格. 第一种方法是:编辑委托法 这种方法直接利用委托中重载createEditor(),激活QCheckBox,这个缺点是必须双击/选中,才能显示CheckBox控件.一般不满足我们实际中的直接显示的需要.可以

C# Word中插入复选框选中符号

object fontname = "Wingdings 2";  object uic = true;    doc.Bookmarks.get_Item(ref lblmark).Range.InsertSymbol(-4014, ref fontname, ref uic, ref missing); C# Word中插入复选框选中符号,布布扣,bubuko.com

jQuery+SpringMVC中的复选框选择与传值

一.checkbox选择 在jQuery中,选中checkbox通用的两种方式: $("#cb1").attr("checked","checked");$("#cb1").attr("checked",true); 对应的jQuery函数,主要完成三个功能: 1.第一个复选框选中或取消选中,则下面的复选框为全选或取消全选: 2.当下面的复选框全部选中时,则将第一个复选框设置为选中,当下面的复选框中有一个没

nodetree中 前面复选框禁用插件

nodetree中 前面复选框的去掉插件 extendTreeCheck.js 1 /** 2 * tree方法扩展 3 * 作者:小雪转中雪 4 */ 5 $.extend($.fn.tree.methods, { 6 /** 7 * 激活复选框 8 * @param {Object} jq 9 * @param {Object} target 10 */ 11 enableCheck : function(jq, target) { 12 return jq.each(function(){

Itext填写pdf中的复选框

使用Acrobat制作模板,在赋值的时候发现一个问题,对于模板中的复选框CheckBox,使用了默认导入值"是",结果复选框内显示的是一个叉而不是一个√. 翻看了很多的资料,也找不到解决的方法,如果有哪位大神知道的,能不能指导一下,不胜感激. 在这里说一下我自己的解决方法: 就是利用反向思维,不是需要在复选框内打勾吗?那么我就先将模板中的复选框全部打上√. 然后再赋值"否",问题可以解决,就是麻烦了很多. 原文地址:https://www.cnblogs.com/c

实现table中checkbox复选框、以及判断checked是否被选中、js操作checkedbox选中

上图是实现效果. 下面贴代码 表的第一行也就是<th>中的代码,onclick事件是实现全选或者全不选效果. <th> <input id="allboxs" onclick="allcheck()" type="checkbox"/> </th> td中的代码 <td> <input name="boxs" type="checkbox"/