文档详情

GIS设计之AE开发初步.ppt

发布:2016-12-06约6.56千字共49页下载文档
文本预览下载声明
四、实现查询功能 11. 添加窗体frmInputQueryInfo 设计界面进行查询 ,如图所示: 四、实现查询功能 12. 对frmInputQueryInfo添加代码 1.按钮处进行隐藏窗体操作 2. 添加返回私有字段textbox1值的方法getQueryKey,如下所示: private void btnQuery_Click(object sender, EventArgs e) { this.Hide(); } //自定义方法,获取查询的关键字 public string getQueryKey() { return textBox1.Text; } 四、实现查询功能 在查询菜单项的单击事件处理中添加如下代码,代码说明参考注释: //查询 private void menuItem3_Click(object sender, EventArgs e) { frmInputQueryInfo myQueryInfo = new frmInputQueryInfo(); myQueryInfo.ShowDialog(); //获取线路名 string strBusLineName = myQueryInfo.getQueryKey(); //开始显示该线路: //找到图层 IFeatureLayer pFeatureLayer = axMapControl2.get_Layer(1) as IFeatureLayer; //确定图层为第2个图层,ArcMap中从上向下数 //找到要素Feature IQueryFilter pQueryFilter = new QueryFilter(); //查询过滤条件 pQueryFilter.WhereClause = [BusLineName] = + strBusLineName + ; IFeatureCursor pFeatureCur = pFeatureLayer.Search(pQueryFilter, false); IFeature pFeature = null; pFeature = pFeatureCur.NextFeature(); if (null == pFeature) return; //在这里判断是否Search到,因为pFeatureCur没有查找到结果也不为空。 //设定显示区域为要素的大小 IEnvelope pEnvelope; pEnvelope = pFeature.Shape.Envelope; axMapControl2.Extent = pEnvelope; axMapControl2.ActiveView.Refresh(); Application.DoEvents(); //开始闪烁 axMapControl2.FlashShape(pFeature.Shape, 3, 800, null); } 小结 运行此程序,输入“38路”或“336路”即可实现对应公交线路的闪烁。 至此,实现了一个简单的二维查询,查询处的代码(幻灯片上一页)是一个经典并且常用的示例代码,请注意分析。 五、添加功能 13. 添加数据表格 1. 在frmInputQueryInfo添加DataGridView控件. 2. 在代码中添加A访问数据库的代码。 //在 Form构造函数中添加如下代码: try { //在构造函数中初始化成员变量 myCon = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + Application.StartupPath + \\数据\\REALESTATEGDB.mdb); myCon.Open(
显示全部
相似文档