/// <summary> /// Gets the GPS photo symbol. /// </summary> /// <returns>ISymbol for GPS Locations</returns> private ISymbol GetGPSPhotoSymbol() { IMultiLayerMarkerSymbol multiLayerMarkerSymbol = new MultiLayerMarkerSymbolClass(); ICharacterMarkerSymbol viewshedSymbol = this.GetGPSPhotoViewshedSymbol(); multiLayerMarkerSymbol.AddLayer(viewshedSymbol); ICharacterMarkerSymbol charSymbol = new CharacterMarkerSymbol(); // IFontDisp fontDisp = (IFontDisp)(new StdFont()); IRgbColor rgbColor = new RgbColor(); // Define the color we want to use rgbColor.Red = 255; rgbColor.Green = 0; rgbColor.Blue = 0; // Define the Font we want to use charSymbol.Font = ESRI.ArcGIS.Utility.Converter.ToStdFont(new System.Drawing.Font("ESRI Default Marker", 30f)); // Set the CharacterMarkerSymbols Properties charSymbol.Size = 8; charSymbol.Angle = 0; charSymbol.CharacterIndex = 34; charSymbol.Color = rgbColor; charSymbol.XOffset = 0; charSymbol.YOffset = 0; multiLayerMarkerSymbol.AddLayer(charSymbol); return((ISymbol)multiLayerMarkerSymbol); }
private void btn2D_Click(object sender, EventArgs e) { try { IGraphicsContainer pGraphicsContainer = pPageLayoutControl.ActiveView.GraphicsContainer as IGraphicsContainer; IMarkerElement pMarkerElement = new MarkerElementClass(); //////正北方向 //IPictureMarkerSymbol pPMarkerNorth = new PictureMarkerSymbolClass(); //string MarkerNorthPath = ClsGDBDataCommon.GetParentPathofExe() + @"Resource\BMP\NorthArrow.emf"; //pPMarkerNorth.CreateMarkerSymbolFromFile(esriIPictureType.esriIPictureEMF, MarkerNorthPath); //pPMarkerNorth.Angle = 0; //pPMarkerNorth.Size = 100; ////太阳方向 IPictureMarkerSymbol pPMarkerSun = new PictureMarkerSymbolClass(); string MarkerSunPath = ClsGDBDataCommon.GetParentPathofExe() + @"Resource\BMP\SunArrow.emf"; pPMarkerSun.CreateMarkerSymbolFromFile(esriIPictureType.esriIPictureEMF, MarkerSunPath); pPMarkerSun.Angle = (-1) * SunAzimuth.Value; pPMarkerSun.Size = 100; ////地球方向 IPictureMarkerSymbol pPMarkerEarth = new PictureMarkerSymbolClass(); string MarkerEarthPath = ClsGDBDataCommon.GetParentPathofExe() + @"Resource\BMP\EarthArrow.emf"; pPMarkerEarth.CreateMarkerSymbolFromFile(esriIPictureType.esriIPictureEMF, MarkerEarthPath); pPMarkerEarth.Angle = (-1) * EarAzimuth.Value; pPMarkerEarth.Size = 100; IMultiLayerMarkerSymbol pMultiLayerMarkerSymbol = new MultiLayerMarkerSymbolClass(); //pMultiLayerMarkerSymbol.AddLayer(pPMarkerNorth); pMultiLayerMarkerSymbol.AddLayer(pPMarkerSun); pMultiLayerMarkerSymbol.AddLayer(pPMarkerEarth); pMarkerElement.Symbol = pMultiLayerMarkerSymbol; IElement pElement = pMarkerElement as IElement; IActiveView pActiveView = pPageLayoutControl.ActiveView; IPageLayout pPageLayout = (IPageLayout)pActiveView; IPage pPage = pPageLayout.Page; double pWidth = pPage.PrintableBounds.XMin + 3; double pHeigth = pPage.PrintableBounds.YMax - 5; IPoint pPoint = new PointClass(); pPoint.PutCoords(pWidth, pHeigth); pElement.Geometry = (IGeometry)pPoint; pGraphicsContainer.AddElement(pElement, 0); pPageLayoutControl.ActiveView.Refresh(); } catch { MessageBox.Show(e.ToString()); } this.Close(); }
//MultiLayerMarkerSymbol private void button5_Click(object sender, EventArgs e) { IMultiLayerMarkerSymbol multiLayerMarkerSymbol = new MultiLayerMarkerSymbolClass(); IPictureMarkerSymbol pictureMarkerSymbol = new PictureMarkerSymbolClass(); ICharacterMarkerSymbol characterMarkerSymbol = new CharacterMarkerSymbol(); stdole.IFontDisp fontDisp = (stdole.IFontDisp)(new stdole.StdFontClass()); IRgbColor rgbColor = new RgbColor(); rgbColor = getRGB(0, 0, 0); fontDisp.Name = "arial"; fontDisp.Size = 12; fontDisp.Italic = true; //创建字符符号 characterMarkerSymbol.Angle = 0; characterMarkerSymbol.CharacterIndex = 97; characterMarkerSymbol.Color = rgbColor; characterMarkerSymbol.Font = fontDisp; characterMarkerSymbol.Size = 24; characterMarkerSymbol.XOffset = 0; characterMarkerSymbol.YOffset = 0; //创建图片符号 //string fileName = @"E:\vs2005\第五章\lesson2\lesson2\data\qq.bmp"; string path = Directory.GetCurrentDirectory(); string fileName = path + @"\qq.bmp"; pictureMarkerSymbol.CreateMarkerSymbolFromFile(esriIPictureType.esriIPictureBitmap, fileName); pictureMarkerSymbol.Angle = 0; pictureMarkerSymbol.BitmapTransparencyColor = rgbColor; pictureMarkerSymbol.Size = 30; pictureMarkerSymbol.XOffset = 0; pictureMarkerSymbol.YOffset = 0; //添加图片、字符符号到组合符号中 multiLayerMarkerSymbol.AddLayer(pictureMarkerSymbol); multiLayerMarkerSymbol.AddLayer(characterMarkerSymbol); multiLayerMarkerSymbol.Angle = 0; multiLayerMarkerSymbol.Size = 30; multiLayerMarkerSymbol.XOffset = 0; multiLayerMarkerSymbol.YOffset = 0; IPoint point1 = new PointClass(); IPoint point2 = new PointClass(); point1.PutCoords(5, 5); point2.PutCoords(5, 10); this.axMapControl1.FlashShape(point1 as IGeometry, 3, 200, multiLayerMarkerSymbol); this.axMapControl1.FlashShape(point2 as IGeometry); }
//组合点符号化 private void MultiLayerMarkerSymbolToolStripMenuItem_Click(object sender, EventArgs e) { try { //获得点图层,要求当前地图文档第一个图层为点图层 IFeatureLayer layer; layer = mainMapControl.get_Layer(0) as IFeatureLayer; //QI到IGeoFeatureLayer IGeoFeatureLayer geoFeatureLayer = layer as IGeoFeatureLayer; SimpleRenderer simpleRender = new SimpleRendererClass(); //创建第一组成成分点符号的颜色 IColor pColor = new RgbColorClass(); pColor.RGB = 2256; //创建第二组成成分点符号的颜色 IColor pColor1 = new RgbColorClass(); pColor1.RGB = 0; //创建简单点符号 ISimpleMarkerSymbol pMarkerSymbol = new SimpleMarkerSymbolClass(); pMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCross; pMarkerSymbol.Color = pColor; pMarkerSymbol.Angle = 60; //创建箭头点符号 IArrowMarkerSymbol pArrowMarkerSymbol = new ArrowMarkerSymbolClass(); pArrowMarkerSymbol.Length = 5; pArrowMarkerSymbol.Width = 10; pArrowMarkerSymbol.Color = pColor1; //创建以上两种符号的组合符号 IMultiLayerMarkerSymbol pMultiLayerMarkerSymbol = new MultiLayerMarkerSymbolClass(); pMultiLayerMarkerSymbol.AddLayer(pArrowMarkerSymbol); pMultiLayerMarkerSymbol.AddLayer(pMarkerSymbol); simpleRender.Symbol = pMultiLayerMarkerSymbol as ISymbol; geoFeatureLayer.Renderer = simpleRender as IFeatureRenderer; mainMapControl.Refresh(); axTOCControl1.Update(); } catch { MessageBox.Show("没有可以实例化的图层"); } }
private void GroupPointToolStripMenuItem_Click(object sender, EventArgs e) { IFeatureLayer layer; layer = axMapControl1.get_Layer(0) as IFeatureLayer; //QI到IGeoFeatureLayer IGeoFeatureLayer geoFeatureLayer = layer as IGeoFeatureLayer; //新建SimpleRendererClass对象 SimpleRenderer simpleRender = new SimpleRendererClass(); //创建第一组成成分点符号的颜色 IColor pColor = new RgbColorClass(); pColor.RGB = 2256; //创建第二组成成分点符号的颜色 IColor pColor1 = new RgbColorClass(); pColor1.RGB = 0; //创建简单点符号 ISimpleMarkerSymbol pMarkerSymbol = new SimpleMarkerSymbolClass(); pMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCross; pMarkerSymbol.Color = pColor; pMarkerSymbol.Angle = 60; //创建箭头点符号 IArrowMarkerSymbol pArrowMarkerSymbol = new ArrowMarkerSymbolClass(); pArrowMarkerSymbol.Length = 5; pArrowMarkerSymbol.Width = 10; pArrowMarkerSymbol.Color = pColor1; //创建以上两种符号的组合符号 IMultiLayerMarkerSymbol pMultiLayerMarkerSymbol = new MultiLayerMarkerSymbolClass(); pMultiLayerMarkerSymbol.AddLayer(pArrowMarkerSymbol); pMultiLayerMarkerSymbol.AddLayer(pMarkerSymbol); simpleRender.Symbol = pMultiLayerMarkerSymbol as ISymbol; geoFeatureLayer.Renderer = simpleRender as IFeatureRenderer; axMapControl1.Refresh(); axTOCControl1.Update(); }
private void btn3D_Click(object sender, EventArgs e) { try { IGraphicsContainer3D graphicsContainer3D = pSceneControl.Scene.ActiveGraphicsLayer as IGraphicsContainer3D; graphicsContainer3D.DeleteAllElements(); pSceneControl.Scene.SceneGraph.RefreshViewers(); //屏幕大小 double PageX = pSceneControl.SceneGraph.Extent.Envelope.XMax; double PageY = pSceneControl.SceneGraph.Extent.Envelope.YMax; double PageZ = pSceneControl.SceneGraph.Extent.Envelope.ZMax; double PageXmin = pSceneControl.SceneGraph.Extent.Envelope.XMin; double pMarkerSize = (PageX - PageXmin) / 10; IMarkerElement pMarkerElement = new MarkerElementClass(); //正北方向 IMarker3DSymbol pMarker3DSymbolNorth = new Marker3DSymbolClass(); string NorthPath = ClsGDBDataCommon.GetParentPathofExe() + @"Resource\BMP\NorthArrow.3DS"; pMarker3DSymbolNorth.CreateFromFile(NorthPath); IMarker3DPlacement pMarker3DPlacement = pMarker3DSymbolNorth as IMarker3DPlacement; pMarker3DPlacement.Size = pMarkerSize; pMarker3DPlacement.SetRotationAngles(-90, 0, 0); //IRgbColor pRgbColorNorth = new RgbColorClass(); //pRgbColorNorth.Red = Color.Black.R; //pRgbColorNorth.Green = Color.Black.G; //pRgbColorNorth.Blue = Color.Black.B; pMarker3DPlacement.Color = ClsGDBDataCommon.ColorToIColor(Color.Black); //太阳方向 IMarker3DSymbol pMarker3DSymbolSun = new Marker3DSymbolClass(); string SunPath = ClsGDBDataCommon.GetParentPathofExe() + @"Resource\BMP\SunArrow.3DS"; pMarker3DSymbolSun.CreateFromFile(SunPath); IMarker3DPlacement pMarker3DPlacement1 = pMarker3DSymbolSun as IMarker3DPlacement; pMarker3DPlacement1.Size = pMarkerSize; double SunAngleX = SunIncli.Value - 90; double SunAngleY = 0; double SunAngleZ = 0 - SunAzimuth.Value; pMarker3DPlacement1.SetRotationAngles(SunAngleX, SunAngleY, SunAngleZ); //IRgbColor pRgbColorSun = new RgbColorClass(); //pRgbColorSun.Red = Color.Red.R; //pRgbColorSun.Green = Color.Red.G; //pRgbColorSun.Blue = Color.Red.B; pMarker3DPlacement1.Color = ClsGDBDataCommon.ColorToIColor(Color.Red); //地球方向 IMarker3DSymbol pMarker3DSymbolEarth = new Marker3DSymbolClass(); string EarthPath = ClsGDBDataCommon.GetParentPathofExe() + @"Resource\BMP\EarthArrow.3DS"; pMarker3DSymbolEarth.CreateFromFile(EarthPath); IMarker3DPlacement pMarker3DPlacement2 = pMarker3DSymbolEarth as IMarker3DPlacement; pMarker3DPlacement2.Size = pMarkerSize; double EarthAngleX = EarIncli.Value - 90; double EarthAngleY = 0; double EarthAngleZ = 0 - EarAzimuth.Value; pMarker3DPlacement2.SetRotationAngles(EarthAngleX, EarthAngleY, EarthAngleZ); //IRgbColor pRgbColorEarth = new RgbColorClass(); //pRgbColorEarth.Red = Color.BlueViolet.R; //pRgbColorEarth.Green = Color.BlueViolet.G; //pRgbColorEarth.Blue = Color.BlueViolet.B; pMarker3DPlacement2.Color = ClsGDBDataCommon.ColorToIColor(Color.BlueViolet); //合并成一个整体 IMultiLayerMarkerSymbol pMultiLayerMarkerSymbol = new MultiLayerMarkerSymbolClass(); pMultiLayerMarkerSymbol.AddLayer(pMarker3DSymbolNorth as IMarkerSymbol); pMultiLayerMarkerSymbol.AddLayer(pMarker3DSymbolSun as IMarkerSymbol); pMultiLayerMarkerSymbol.AddLayer(pMarker3DSymbolEarth as IMarkerSymbol); pMarkerElement.Symbol = pMultiLayerMarkerSymbol; IElement pElement = pMarkerElement as IElement; //确定添加位置 IPoint pPoint = new PointClass(); pPoint.X = PageX; pPoint.Y = PageY; pPoint.Z = PageZ + PageZ / 10; IZAware zAware = pPoint as IZAware; zAware.ZAware = true; IGeometry pointGeometry = pPoint as IGeometry; pointGeometry.SpatialReference = pSceneControl.Scene.SpatialReference; pElement.Geometry = pointGeometry; graphicsContainer3D.AddElement(pElement); pSceneControl.Scene.SceneGraph.RefreshViewers(); } catch { MessageBox.Show(e.ToString()); } this.Close(); }
private void UpdateMapControlWithMarker(IMapControl4 updateMapControl, string action) { IRgbColor redRgbColor = new RgbColorClass(); redRgbColor.Red = 255; redRgbColor.Green = 0; redRgbColor.Blue = 0; IRgbColor yellowRgbColor = new RgbColorClass(); yellowRgbColor.Red = 255; yellowRgbColor.Green = 255; yellowRgbColor.Blue = 115; IRgbColor blackRgbcolor = new RgbColorClass(); blackRgbcolor.Red = 0; blackRgbcolor.Green = 0; blackRgbcolor.Blue = 0; IRgbColor greenRgbColor = new RgbColorClass(); greenRgbColor.Red = 0; greenRgbColor.Green = 255; greenRgbColor.Blue = 0; IEnvelope extentEnvelope = updateMapControl.Extent; IGraphicsContainer graphicsContainer = updateMapControl.Map.BasicGraphicsLayer as IGraphicsContainer; if (action == "DeleteMarker") { DeleteElement(updateMapControl, action); } else if (action == "AcceptMarker") { DeleteElement(updateMapControl, action); } IMultiLayerMarkerSymbol multiLayerMarkerSymbol = new MultiLayerMarkerSymbolClass(); stdole.IFontDisp esriDefaultMarkerFont = new stdole.StdFontClass() as stdole.IFontDisp; esriDefaultMarkerFont.Name = "ESRI Default Marker"; esriDefaultMarkerFont.Size = Convert.ToDecimal(48); IPoint markerLocation = new PointClass(); markerLocation.SpatialReference = updateMapControl.SpatialReference; markerLocation.X = extentEnvelope.LowerLeft.X + extentEnvelope.Width / 10; markerLocation.Y = extentEnvelope.LowerLeft.Y + extentEnvelope.Height / (10 * (extentEnvelope.Height / extentEnvelope.Width)); IMarkerElement markerElement = new MarkerElementClass(); ((IElement)markerElement).Geometry = markerLocation; ISimpleMarkerSymbol backgroundMarkerSymbol = new SimpleMarkerSymbolClass(); backgroundMarkerSymbol.Color = (IColor)yellowRgbColor; backgroundMarkerSymbol.Size = 45; backgroundMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSSquare; backgroundMarkerSymbol.Outline = true; backgroundMarkerSymbol.OutlineColor = blackRgbcolor; backgroundMarkerSymbol.OutlineSize = 2; multiLayerMarkerSymbol.AddLayer((IMarkerSymbol)backgroundMarkerSymbol); if (action == "DeleteMarker") { ICharacterMarkerSymbol deleteMarkerSymbol = new CharacterMarkerSymbolClass(); deleteMarkerSymbol.Font = esriDefaultMarkerFont; deleteMarkerSymbol.CharacterIndex = 68; deleteMarkerSymbol.Color = redRgbColor; deleteMarkerSymbol.Size = 48; multiLayerMarkerSymbol.AddLayer(deleteMarkerSymbol); ((IElementProperties)markerElement).Name = "DeleteMarker"; } else if (action == "AcceptMarker") { ICharacterMarkerSymbol acceptMarkerSymbol = new CharacterMarkerSymbolClass(); acceptMarkerSymbol.Font = esriDefaultMarkerFont; acceptMarkerSymbol.CharacterIndex = 105; acceptMarkerSymbol.Color = greenRgbColor; acceptMarkerSymbol.Size = 48; multiLayerMarkerSymbol.AddLayer(acceptMarkerSymbol); ((IElementProperties)markerElement).Name = "AcceptMarker"; } markerElement.Symbol = (IMarkerSymbol)multiLayerMarkerSymbol; graphicsContainer.AddElement((IElement)markerElement, 99); updateMapControl.Refresh(esriViewDrawPhase.esriViewGraphics, null, null); }
/// <summary> /// this method will create the multi layer marker symbol with the generic marker symbol and modifier marker symbols form the Symbol ID Code /// </summary> /// <param name="sic"></param> /// <returns></returns> public IMarkerSymbol GetMarkerSymbolFromSIC(string sic) { if (string.IsNullOrEmpty(sic) || !IsValidSic(sic)) { LogError(String.Format("Invalid SIC passed to GetMarkerSymbolFromSIC: " + sic)); return null; } string symbolId = sic.ToUpper(); // addCentralIconId IMarkerSymbol result = null; IMarkerSymbol ms = GetGenericMarkerSymbolFromSIC(symbolId); if (ms == null) { LogError(String.Format("Generic MarkerSymbol returned null when looking for sic : {0}", symbolId)); return null; } // workaround for the Marker symbol problem where the symbol size randomly loads at size 8 instead of 25 if (ms.Size < 25) { ms.Size = 25; } char codingScheme = symbolId[0]; // Done if Tactical Graphic if ((codingScheme == 'G') || (codingScheme == 'W')) return ms; IMultiLayerMarkerSymbol mlms = new MultiLayerMarkerSymbolClass(); mlms.ClearLayers(); // workaround for the Marker symbol problem where the symbol size randomly loads at size 8 instead of 25 if (mlms.Size != 25) { mlms.Size = 25; } // add base symbol if (!AddSymbolToMultiLayerSymbol(mlms, ms)) { LogError(String.Format("Error when adding generic SIC marker symbol to the main multilayer marker symbol, {0}", symbolId)); } addDamaged(symbolId, mlms); addFrameModifier(symbolId, mlms); addEchelon(symbolId, mlms); addFeintDummy(symbolId, mlms); addTaskForce(symbolId, mlms); addHeadQuarters(symbolId, mlms); addMobility(symbolId, mlms); addInstallation(symbolId, mlms); // Lastly add dashed frame: addDashedFrame(symbolId, mlms); // TODO: if needed IMapLevel mapLevel = mlms as IMapLevel; IMapLevel levelma = ms as IMapLevel; result = mlms as IMarkerSymbol; return result; }
private void frmSymbolProperty_Load(object sender, EventArgs e) { if (this.m_pStyleGalleryItem != null) { this.txtName.Text = this.m_pStyleGalleryItem.Name; this.txtCategory.Text = this.m_pStyleGalleryItem.Category; this.symbolItem1.Symbol = this.m_pStyleGalleryItem.Item; if (this.symbolItem1.Symbol is IMarkerSymbol) { this.m_SymbolType = enumSymbolType.enumSTPoint; } else if (this.symbolItem1.Symbol is ILineSymbol) { this.m_SymbolType = enumSymbolType.enumSTLine; } else if (this.symbolItem1.Symbol is IFillSymbol) { this.m_SymbolType = enumSymbolType.enumSTFill; } else if (this.symbolItem1.Symbol is ITextSymbol) { this.m_SymbolType = enumSymbolType.enumSTText; } else if (this.symbolItem1.Symbol is IColorRamp) { this.m_SymbolType = enumSymbolType.enumSTColorRamp; } else if (this.symbolItem1.Symbol is IColor) { this.m_SymbolType = enumSymbolType.enumSTColor; } else if (this.symbolItem1.Symbol is ISymbolBorder) { this.m_SymbolType = enumSymbolType.enumSTBorder; } else if (this.symbolItem1.Symbol is ISymbolBackground) { this.m_SymbolType = enumSymbolType.enumSTBackground; } else if (this.symbolItem1.Symbol is ISymbolShadow) { this.m_SymbolType = enumSymbolType.enumSTShadow; } else if (this.symbolItem1.Symbol is IMarkerNorthArrow) { this.m_SymbolType = enumSymbolType.enumSTNorthArrow; } else if (this.symbolItem1.Symbol is IScaleBar) { this.m_SymbolType = enumSymbolType.enumSTScaleBar; } else if (this.symbolItem1.Symbol is IScaleText) { this.m_SymbolType = enumSymbolType.enumSTScaleText; } else if (this.symbolItem1.Symbol is ILegendItem) { this.m_SymbolType = enumSymbolType.enumSTLegendItem; } else { this.m_SymbolType = enumSymbolType.enumSTUnknown; } } else { this.m_pStyleGalleryItem = new ServerStyleGalleryItemClass(); object obj2 = null; switch (this.m_SymbolType) { case enumSymbolType.enumSTPoint: this.txtName.Text = "点符号"; obj2 = new MultiLayerMarkerSymbolClass(); ((IMultiLayerMarkerSymbol)obj2).AddLayer(new SimpleMarkerSymbolClass()); break; case enumSymbolType.enumSTLine: this.txtName.Text = "线符号"; obj2 = new MultiLayerLineSymbolClass(); ((IMultiLayerLineSymbol)obj2).AddLayer(new SimpleLineSymbolClass()); break; case enumSymbolType.enumSTFill: this.txtName.Text = "面符号"; obj2 = new MultiLayerFillSymbolClass(); ((IMultiLayerFillSymbol)obj2).AddLayer(new SimpleFillSymbolClass()); break; case enumSymbolType.enumSTText: case enumSymbolType.enumSTColorRamp: case enumSymbolType.enumSTColor: case enumSymbolType.enumSTLinePatch: case enumSymbolType.enumSTAreaPatch: return; case enumSymbolType.enumSTNorthArrow: this.txtName.Text = "指北针"; obj2 = new MarkerNorthArrowClass(); break; case enumSymbolType.enumSTScaleBar: this.txtName.Text = "比例尺"; obj2 = new ScaleLineClass(); break; case enumSymbolType.enumSTScaleText: this.txtName.Text = "比例尺文本"; obj2 = new ScaleTextClass(); break; case enumSymbolType.enumSTBorder: this.txtName.Text = "边界"; obj2 = new SymbolBorderClass(); break; case enumSymbolType.enumSTShadow: this.txtName.Text = "阴影"; obj2 = new SymbolShadowClass(); break; case enumSymbolType.enumSTBackground: this.txtName.Text = "背景"; obj2 = new SymbolBackgroundClass(); break; case enumSymbolType.enumSTLegendItem: this.txtName.Text = "图例项"; obj2 = new HorizontalLegendItemClass(); break; case enumSymbolType.enumSTLabel: this.txtName.Text = "标注"; obj2 = new LabelStyleClass(); break; default: return; } this.symbolItem1.Symbol = obj2; this.m_pStyleGalleryItem.Name = this.txtName.Text; this.m_pStyleGalleryItem.Category = this.txtCategory.Text; this.m_pStyleGalleryItem.Item = obj2; } }