爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5078|回复: 14

各路朋友新年好,请教高手一个问题。

[复制链接]
发表于 2016-2-13 15:03:13 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
下面是demo主窗体中的代码,请教高手们问题:一是最新版本似乎不能激发下列代码中的MapView_ShapeSelected函数;二是TSB_SelectFeatures函数中,最新版本MouseTools无SelectFeatures类型。怎么实现demo中,当鼠标切换到MouseTools的.SelectFeatures时,单击站点,跳出显示站点名称的对话框的功能。
        private void MapView_ShapeSelected(object sender, EventArgs e)
        {
            mapView1.PaintLayers();
            VectorLayer cityMapLayer = (VectorLayer)mapView1.GetLayerFromName("CITIES.shp");
            string nameStr = "Selected: ";
            for (int i = 0; i < cityMapLayer.ShapeNum; i++)
            {
                if (cityMapLayer.ShapeList[i].Selected)
                {
                    nameStr = nameStr + " " + cityMapLayer.GetCellValue("NAME", i).ToString() + ",";
                }
            }
            nameStr.TrimEnd(',');
            MessageBox.Show(nameStr);
        }
       private void TSB_SelectFeatures_Click(object sender, EventArgs e)
        {
            mapView1.MouseTool = MouseTools.SelectFeatures;
            mapLayout1.MouseMode = MouseMode.Map_SelectFeatures;
            SetCurrentTool((ToolStripButton)sender);
        }


密码修改失败请联系微信:mofangbao
发表于 2016-2-13 17:44:47 | 显示全部楼层
        private void SetMapView()
        {
            //Add map view
            tabControl1.TabPages[0].Controls.Clear();
            tabControl1.TabPages[0].Controls.Add(mapView1);
            mapView1.Dock = DockStyle.Fill;
            mapView1.MouseMove += new MouseEventHandler(this.MapView_MouseMove);
            mapView1.ShapeSelected += new EventHandler(this.MapView_ShapeSelected);
        }
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-2-14 09:35:14 | 显示全部楼层
感谢回复。我是在vs2010下调试的,用的是您新年发布 - MeteoInfo 1.3动态库,SetMapView()函数我用了,因为MouseMove是可以实现的。我觉得可能是TSB_SelectFeatures函数的问题,因为在最新版本中MouseTools没有SelectFeatures类型。我想实现的是,当鼠标切换到TSB_SelectFeatures时,单击站点,跳出显示站点名称的对话框的功能。
密码修改失败请联系微信:mofangbao
发表于 2016-2-14 09:56:55 | 显示全部楼层
qxsw2016 发表于 2016-2-14 09:35
感谢回复。我是在vs2010下调试的,用的是您新年发布 - MeteoInfo 1.3动态库,SetMapView()函数我用了,因为 ...

MeteoInfo 1.3是Java版的,你用vs2010,应该是需要用C#版的MeteoInfo类库吧。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-2-15 08:56:19 | 显示全部楼层
MeteoInfo 发表于 2016-2-14 09:56
MeteoInfo 1.3是Java版的,你用vs2010,应该是需要用C#版的MeteoInfo类库吧。

非常感谢再次回复。不好意思,马虎害死人,,版本我记错了。demo中的MeteoInfoC.dll文件大小2.16M,而MeteoInfo_1.1.3.4R1中的MeteoInfoC.dll文件大小1.90M,我应该添加哪个引用.
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-2-15 08:57:30 | 显示全部楼层
qxsw2016 发表于 2016-2-15 08:56
非常感谢再次回复。不好意思,马虎害死人,,版本我记错了。demo中的MeteoInfoC.dll文件大小2.16M,而Meteo ...

如果是后者,MouseTools没有SelectFeatures类型。
密码修改失败请联系微信:mofangbao
发表于 2016-2-15 09:19:46 | 显示全部楼层
qxsw2016 发表于 2016-2-15 08:57
如果是后者,MouseTools没有SelectFeatures类型。

用MouseTools的SelectFeatures_Rectangle
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-2-15 09:34:16 | 显示全部楼层
问这样的话又回到我开始的问题,不能激发下列代码中的MapView_ShapeSelected函数,private void MapView_ShapeSelected(object sender, EventArgs e)
        {
            mapView1.PaintLayers();
            VectorLayer cityMapLayer = (VectorLayer)mapView1.GetLayerFromName("CITIES.shp");
            string nameStr = "Selected: ";
            for (int i = 0; i < cityMapLayer.ShapeNum; i++)
            {
                if (cityMapLayer.ShapeList[i].Selected)
                {
                    nameStr = nameStr + " " + cityMapLayer.GetCellValue("NAME", i).ToString() + ",";
                }
            }
            nameStr.TrimEnd(',');
            MessageBox.Show(nameStr);
        }
我选择用MouseTools的SelectFeatures_Rectangle后,那么上面函数代码中,执行怎样的操作才能使得cityMapLayer.ShapeList[i].Selected为true呢
密码修改失败请联系微信:mofangbao
发表于 2016-2-15 09:44:50 | 显示全部楼层
qxsw2016 发表于 2016-2-15 09:34
问这样的话又回到我开始的问题,不能激发下列代码中的MapView_ShapeSelected函数,private void MapView_Sh ...

你需要用鼠标选中一个或多个城市才能激发MapView_ShapeSelected函数
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-2-15 14:46:15 | 显示全部楼层

恕我愚笨。我要的结果是:上图是天气图的一部分,假如已经实现基于meteoinfo的按这种方式实现填图,如果我想得到关于某站点基本信息的对话框,思路是鼠标单击站圈,就跳出对话框。如果用MouseTools的SelectFeatures_Rectangle,鼠标选中一个或多个城市,就如下图
完成后,还是不能激发MapView_ShapeSelected函数,怎么办?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表