public MapViewerForm(TileMap map)
        {
            InitializeComponent();
            Map = map;
            mv = new MapViewer(picMapViewer.Handle, picMapViewer.Width, picMapViewer.Height);
            mv.changeMap(Map);
            mv.UpdateView();

            lstLayer.DataSource = Map.myLayer;
            lstLayer.DisplayMember = "Name";

            updateLayer();
            ve = new ViewEvent();

            _layerCache = new List<LayerCache>();
            for (int i = 0; i < Map.myLayer.Count; i++ )
            {
                LayerCache lc = new LayerCache(Map.maxX, map.maxY, Map.myLayer[i]);
                _layerCache.Add(lc);
            }

            cm = (CurrencyManager)BindingContext[Map.myLayer];

            SetScrollSize();

            tmrRefresh.Interval = 180;
            tmrRefresh.Start();
        }
        public void RefreshDatabase()
        {
            mv.Render();
            cm.Refresh();

            if (cmm != null)
                cmm.Refresh();

            _layerCache.Clear();
            for (int i = 0; i < Map.myLayer.Count; i++)
            {
                LayerCache l = new LayerCache(Map.maxX, Map.maxY, Map.myLayer[i]);
                _layerCache.Add(l);
            }
        }