User Tools

Site Tools


source_code_serviceseditionsample_tabfile_cs_150104.zip

Source Code ServicesEditionSample TABFile CS 150104.zip

Sample.cs

 using System;  
 using System.Collections.Generic;  
 using System.Drawing;  
 using System.Windows.Forms;  
 using ThinkGeo.MapSuite.Core;  
 
 public partial class Sample : Form  
 {  
     private MapEngine mapEngine;  
     private Bitmap bitmap;  
     private RectangleShape fullExtent;  
     private readonly Dictionary<string, string> tabTypeFiles = new Dictionary<string, string>();  
 
     public Sample()  
     {  
         tabTypeFiles.Add("PointStyle", @"..\..\Data\US_CUSTG.TAB");  
         tabTypeFiles.Add("LineStyle", @"..\..\Data\US_HIWAY.TAB");  
         tabTypeFiles.Add("AreaStyle", @"..\..\Data\HoustonMuniBdySamp_Boundary.TAB");  
         tabTypeFiles.Add("TextStyle", @"..\..\Data\LocalStreetNames.TAB");  
         InitializeComponent();  
     }  
 
     private void DisplayASimpleMap_Load(object sender, EventArgs e)  
     {  
         mapEngine = new MapEngine();  
         mapEngine.ShowLogo = true;  
 
         foreach (string tabFile in tabTypeFiles.Keys)  
         {  
                 sampleFileListBox.Items.Add(tabFile);  
         }  
         // Display the first file in the list  
         sampleFileListBox.SelectedIndex = 0;  
     }  
 
     private void sampleFileListBox_SelectedIndexChanged(object sender, EventArgs e)  
     {  
         TabFeatureLayer layer = new TabFeatureLayer(tabTypeFiles[sampleFileListBox.SelectedItem.ToString()]);  
         layer.RequireIndex = false;  
 
         // Render the data using embedded style in the CAD file  
         if (radioButtonEmbeddedStyle.Checked)  
         {  
             layer.StylingType = TabStylingType.EmbeddedStyling;  
         }  
         // Render the data using a customized style  
         else  
         {  
             layer.StylingType = TabStylingType.StandardStyling;  
             layer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.Equator1;  
             layer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.City7;  
             layer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.County2;  
             layer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;  
             layer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle = TextStyles.City6("TabDefaultTextColumn");  
         }  
 
         mapEngine.StaticLayers.Clear();  
         mapEngine.StaticLayers.Add(layer);  
 
         Cursor = Cursors.WaitCursor;  
         layer.Open();  
         fullExtent = ExtentHelper.GetDrawingExtent(layer.GetBoundingBox(), map.Width, map.Height);  
         mapEngine.CurrentExtent = fullExtent;  
         DrawImage();  
         Cursor = Cursors.Default;  
     }  
 
     private void radioButtonStandardStyle_CheckedChanged(object sender, EventArgs e)  
     {  
         TabFeatureLayer layer = ((TabFeatureLayer)mapEngine.StaticLayers[0]);  
         if (radioButtonStandardStyle.Checked)  
         {  
             layer.StylingType = TabStylingType.StandardStyling;  
             layer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.Equator1;  
             layer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.City7;  
             layer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.County2;  
             layer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;  
             layer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle = TextStyles.City6("TabDefaultTextColumn");  
         }  
         else  
         {  
             layer.StylingType = TabStylingType.EmbeddedStyling;  
         }  
         DrawImage();  
     }  
 
     private void DrawImage()  
     {  
         bitmap = new Bitmap(map.Width, map.Height);  
         mapEngine.OpenAllLayers();  
         mapEngine.DrawStaticLayers(bitmap, GeographyUnit.Meter);  
         mapEngine.CloseAllLayers();  
 
         map.Image = bitmap;  
     }  
 
     private void ToolBar_ButtonClick(object sender, ToolBarButtonClickEventArgs e)  
     {  
         switch (e.Button.Tag.ToString())  
         {  
             case "Zoom In":  
                 mapEngine.CurrentExtent.ScaleDown(50);  
                 break;  
             case "Zoom Out":  
                 mapEngine.CurrentExtent.ScaleUp(50);  
                 break;  
             case "Full Extent":  
                  mapEngine.CurrentExtent = fullExtent;  
                 break;  
             case "Pan Left":  
                 mapEngine.CurrentExtent = ExtentHelper.Pan(mapEngine.CurrentExtent, PanDirection.Left, 20);  
                 break;  
             case "Pan Right":  
                 mapEngine.CurrentExtent = ExtentHelper.Pan(mapEngine.CurrentExtent, PanDirection.Right, 20);  
                 break;  
             case "Pan Up":  
                 mapEngine.CurrentExtent = ExtentHelper.Pan(mapEngine.CurrentExtent, PanDirection.Up, 20);  
                 break;  
             case "Pan Down":  
                 mapEngine.CurrentExtent = ExtentHelper.Pan(mapEngine.CurrentExtent, PanDirection.Down, 20);  
                 break;  
             default:  
                 break;  
         }  
         DrawImage();  
     }  
 
     private void map_ClientSizeChanged(object sender, EventArgs e)  
     {  
         if (map.Width > bitmap.Width || map.Height > bitmap.Height)  
         {  
             bitmap = new Bitmap(map.Width, map.Height);  
             double scale = new ZoomLevelSet().GetZoomLevel(mapEngine.CurrentExtent, map.Width, GeographyUnit.Meter).Scale;  
             mapEngine.CurrentExtent = ExtentHelper.SnapToZoomLevel((RectangleShape)mapEngine.CurrentExtent.CloneDeep(), GeographyUnit.Meter, map.Width, map.Height, new ZoomLevelSet());  
             mapEngine.CurrentExtent = ExtentHelper.ZoomToScale(scale, mapEngine.CurrentExtent, GeographyUnit.Meter, map.Width, map.Height);  
             DrawImage();  
         }  
     }  
 }  
 

Program.cs

 using System;  
 using System.Windows.Forms;  
 
 namespace SourceDisplayASimpleMap  
 {  
     static class Program  
     {  
         /// <summary>  
         /// The main entry point for the application.  
         /// </summary>  
         [STAThread]  
         static void Main()  
         {  
             Application.EnableVisualStyles();  
             Application.SetCompatibleTextRenderingDefault(false);  
             Application.Run(new Sample());  
         }  
     }  
 }  
 
source_code_serviceseditionsample_tabfile_cs_150104.zip.txt · Last modified: 2015/09/09 03:13 by admin