c#AE二次开发学习路程

 我是文明,文章来源于项目实践,以下即代表我的个人认同与看法,有不同看法的可以留言哈,谢谢你的阅读,文章有错字或代码错误请指正,谢谢你哦。

学习并非一件简单的事情,只有自己付出努力,方能解决实际的问题,在学习程序开发的路程之中,自己付出了不少,收获了不少,此文献给在学习之路上的同仁,相信能对同仁们有所帮助,在人生奋斗的路程之中,您会遇到很多的朋友,它们会帮助你。当然也有损友,这些都是不能避免的。以下为重点:

    程序之路是一条艰难之路,在这条路上你会遇到很多难题的,但是,坚信一切都是不断拼搏的。首先,我从一个对程序一点也不熟悉的学生,到一个对程序熟悉的人,这就是一种学习能力的进展,我学习程序用了三个月,学会自己独立编制AE程序,这是在项目上一点一点去学,然后一点一点积累的过程。学会一门开发语言是一个漫长的过程,不要相信什么7天,也不要相信什么21天,那不是您的。

    下面解决一个实际一点的问题:AE对接口的使用心得:

    譬如:要用调整图层位置程序(需求:arcgis添加图例向导窗体中的调整图层位置功能):对程序陌生的人来说,自然无从下手,首先对arcgis操作要熟悉。有了需求,然后就能设计窗体,进而设计程序:

 private void LegendAdd_Load(object sender, EventArgs e)
        {            
            int tempint = 0;
            for (int i = 0; i < this.m_hookHelper.FocusMap.LayerCount; i++)
            {
                ILayer layer = this.m_hookHelper.FocusMap.get_Layer(i);
                if (layer is IGroupLayer)
                {
                    TreeNode treeNode = new TreeNode()
                    {
                        Text = layer.Name,                      
                        Tag = layer
                    };
                    strlist.Add(layer.Name);
                    treeViewShowLayerName.Nodes.Add(treeNode);                  
                    if (layer.Visible)
                    {
                        ICompositeLayer groupLayer = layer as ICompositeLayer;
                        for (int j = 0; j < groupLayer.Count; j++)
                        {
                            ILayer compositelayer = groupLayer.get_Layer(j);
                            this.listBox1.Items.Add(compositelayer.Name);
                        }
                    }
                    ICompositeLayer gpLayer = layer as ICompositeLayer;
                    for (int j = 0; j < gpLayer.Count; j++)
                    {
                        ILayer compositelayer = gpLayer.get_Layer(j);
                        TreeNode clidNode = new TreeNode()
                        {
                            Text = compositelayer.Name,
                            Tag = compositelayer
                        };
                        treeNode.Nodes.Add(clidNode); 
                        if (tempint == 0)
                        {
                            treeViewShowLayerName.Select();
                            treeViewShowLayerName.SelectedNode = clidNode;                      
                            tempint++; 
                        }
                    }
                }
                else
                {
                    TreeNode treeNode = new TreeNode()
                    {
                        Text = layer.Name,                      
                        Tag = layer
                    };
                    treeViewShowLayerName.Nodes.Add(treeNode);
                    if (layer.Visible)                    
                        this.listBox1.Items.Add(layer.Name);                                           
                    if (tempint == 0)
                    {
                        treeViewShowLayerName.Select();
                        treeViewShowLayerName.SelectedNode = treeNode;                       
                        tempint++;
                    }
                }
            }
            treeViewShowLayerName.ExpandAll();
             treeViewShowLayerName.TopNode=treeViewShowLayerName.Nodes[0];
            treeViewShowLayerName.HideSelection = false;
            //展开所有节点                  
            this.listBox1.SelectedIndex = 0;          
        }

这是本程序设计的核心代码之一:原创代码。

代码写的不好,这是我初学程序第三个月的水平:不过现在已经学了8个月了,对其中的功能做了部分修改。

AO类库是世界上第二大库,想学会他,自然也有些难度的。不过学习本身就是一个漫长的过程。乐在其中,方为至上。谢谢阅读:感谢!!!!

发布了35 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/wenming111/article/details/79637223