• 上一视图下一视图功能实现(C#+SuperMap Objects)


    SuperMap Objects实现上一视图下一视图功能
            //list 用于保存视图范围
            private List<SuperMapLib.soRect> m_extents = new List<SuperMapLib.soRect>();

            
    //视图存取list的最大限制数
            private int m_extentRecordsMax = 3;

            
    //当前显示视图在视图list中的index
            private int m_extentNowIndex = 0;

            
    //当前视图操作状态 next|last|other
            private String m_viewState = String.Empty;
            
            
    //上一视图
            private void btnLastView_Click(object sender, EventArgs e)
            {
                
    this.m_viewState="last";
                
    this.btnNextView.Enabled = true;
                
    if(this.m_extentNowIndex==0)
                {
                } 
                
    else if (this.m_extentNowIndex == 1)
                {
                    
    this.m_extentNowIndex = this.m_extentNowIndex - 1;
                    
    this.SuperMap1.ViewBounds = this.m_extents[this.m_extentNowIndex];
                    
    this.SuperMap1.Refresh();
                    
    this.btnLastView.Enabled = false;
                }

                
    else
                {
                    
    this.m_extentNowIndex=this.m_extentNowIndex-1;
                    
    this.SuperMap1.ViewBounds = this.m_extents[this.m_extentNowIndex];
                    
    this.SuperMap1.Refresh();
                }
            }

            
    //下一视图
            private void btnNextView_Click(object sender, EventArgs e)
            {
                
    this.m_viewState = "next";
                
    this.btnLastView.Enabled = true;
                
    if (this.m_extentNowIndex == this.m_extents.Count - 1)
                {
                }
                
    else if (this.m_extentNowIndex == this.m_extents.Count - 2)
                {
                    
    this.m_extentNowIndex = this.m_extentNowIndex + 1;
                    
    this.SuperMap1.ViewBounds = this.m_extents[this.m_extentNowIndex];
                    
    this.SuperMap1.Refresh();
                    
    this.btnNextView.Enabled = false;
                }
                
    else
                {
                    
    this.m_extentNowIndex = this.m_extentNowIndex + 1;
                    
    this.SuperMap1.ViewBounds = this.m_extents[this.m_extentNowIndex];
                    
    this.SuperMap1.Refresh();
                }
            }

            
    //地图绘制完成后动作
            private void SuperMap1_AfterMapDraw(object sender, AxSuperMapLib._DSuperMapEvents_AfterMapDrawEvent e)
            {
                
    if (this.m_viewState!="last"&& this.m_viewState!="next")
                {
                    
    if (this.m_extents.Count < m_extentRecordsMax)
                    {
                        
    this.m_extents.Add(this.SuperMap1.ViewBounds);
                        
    this.m_extentNowIndex = this.m_extents.Count - 1;
                        
    this.m_viewState = null;
                    }
                    
    else
                    {
                        
    this.m_extents.Add(this.SuperMap1.ViewBounds);
                        
    this.m_extents.RemoveAt(0);
                        
    this.m_extentNowIndex = this.m_extents.Count - 1;
                        
    this.m_viewState = null;
                    }
                }
            }
  • 相关阅读:
    第三部分 学习shell与shell scipt---第九章 vim程序编辑器
    端口映射与容器互联
    在web工程中如何查看编译后class路径
    Spring配置JDBC连接Orcale、MySql、sqlserver
    org.springframework.beans.factory.BeanNotOfRequiredTypeException错误
    windows系统中如何启动两个tomcat
    eclipse+maven搭建SSM框架
    windows下安装和配置多个版本的JDK
    java环境变量为1.7jdk为何在dos窗口中查看版本为1.8
    查看jdk、eclipse、tomcat的是32位还是64
  • 原文地址:https://www.cnblogs.com/myparamita/p/1520159.html
Copyright © 2020-2023  润新知