layercontrol.cs

来自「基于ehotgis嵌入式gis平台的图层控制源码」· CS 代码 · 共 83 行

CS
83
字号
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using ListViewToolTip;
namespace LayerControl
{

    public partial class LayerControl : Form
    {
        private ListViewLabel listViewLabel;
        Hotgis.eHotGIS.eMap map;
        public LayerControl(Hotgis.eHotGIS.eMap map)
        {
            this.map = map;
            InitializeComponent();
            listViewLabel = new ListViewLabel(listView1, true);
            listViewLabel.OnItemSelected += new ListViewLabel.OnItemSelectedEventHandler(listViewLabel_OnItemSelected);
        }

        void listViewLabel_OnItemSelected(int x, int y)
        {
            if (listView1.Items[x].SubItems[y].Text.Equals("√"))
                listView1.Items[x].SubItems[y].Text = "X";
            else if (listView1.Items[x].SubItems[y].Text.Equals("X"))
                listView1.Items[x].SubItems[y].Text = "√";
        }



        private void LayerControl_Load(object sender, EventArgs e)
        {
            //ListViewHeaderIcon header = new ListViewHeaderIcon(listView1);
            //for (int i = 0; i < listView1.Columns.Count; i++)
            //{
            //    header.SetHeaderImage(i, i, false);
            //}
            
            for (int i = 0; i < map.LayerCount; i++)
            {
                Hotgis.eHotGIS.eLayer lyr = map.GetLayerAt(i);
                string[] s = new string[3];
                s[0] = lyr.Name;
                if (lyr.IsVisible)
                    s[1] = "√";
                else
                    s[1] = "X";
                if (lyr.IsSelectable)
                    s[2] = "√";
                else
                    s[2] = "X";
                listView1.Items.Add(new ListViewItem(s));
            }
        }

        private void LayerControl_Closing(object sender, CancelEventArgs e)
        {
            int count = listView1.Items.Count;
            for(int i=0;i<count;i++)
            {
                if(listView1.Items[i].SubItems[1].Text.Equals("√"))
                {
                    map.GetLayerAt(i).IsVisible = true;
                }else if(listView1.Items[i].SubItems[1].Text.Equals("X"))
                {
                    map.GetLayerAt(i).IsVisible = false;
                }
                if(listView1.Items[i].SubItems[2].Text.Equals("√"))
                {
                    map.GetLayerAt(i).IsSelectable = true;
                }else if(listView1.Items[i].SubItems[2].Text.Equals("X"))
                {
                    map.GetLayerAt(i).IsSelectable = false;
                }
            }
            map.ReDraw();
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?