private void ShowStatusNetEID() { INetwork m_Network = m_GeometricNetwork.Network; IUtilityNetworkGEN m_UtilityNetWorkGEN = m_Network as IUtilityNetworkGEN; IEnumNetEID m_EnumNetEID = m_Network.CreateNetBrowser(esriElementType.esriETEdge); m_EnumNetEID.Reset(); int EdgeEID = m_EnumNetEID.Next(); #region Color presets IRgbColor BlueColor = new RgbColorClass(); //Blue BlueColor.Red = 0; BlueColor.Green = 0; BlueColor.Blue = 200; IRgbColor GreenColor = new RgbColorClass(); //Green GreenColor.Red = 0; GreenColor.Green = 200; GreenColor.Blue = 0; IRgbColor RedColor = new RgbColorClass(); //Red RedColor.Red = 200; RedColor.Green = 0; RedColor.Blue = 0; #endregion #region m_GreenLineSymbol : LineSymbol with Green Color ILineSymbol m_GreenLineSymbol = new SimpleLineSymbolClass(); m_GreenLineSymbol.Color = GreenColor; m_GreenLineSymbol.Width = 2; #endregion #region m_RedLineSymbol : LineSymbol with Red Color ILineSymbol m_RedLineSymbol = new SimpleLineSymbolClass(); m_RedLineSymbol.Color = RedColor; m_RedLineSymbol.Width = 2; #endregion #region m_BlueLineSymbol : LineSymbol with Blue Color ILineSymbol m_BlueLineSymbol = new SimpleLineSymbolClass(); m_BlueLineSymbol.Color = BlueColor; m_BlueLineSymbol.Width = 2; #endregion IScreenDisplay m_SD = axMapControl1.ActiveView.ScreenDisplay; //Draw Status on each Egde EID while (EdgeEID != null) { if (EdgeEID == 0) { break; } //Green line for Edge has Flow if (m_UtilityNetWorkGEN.GetFlowDirection(EdgeEID) == esriFlowDirection.esriFDAgainstFlow || m_UtilityNetWorkGEN.GetFlowDirection(EdgeEID) == esriFlowDirection.esriFDWithFlow) { IGeometry m_Geometry = m_GeometricNetwork.get_GeometryForEdgeEID(EdgeEID); m_SD.SetSymbol(m_GreenLineSymbol as ISymbol); m_SD.DrawPolyline(m_Geometry); m_SD.FinishDrawing(); } //Red Line for Edge that Uninitialize flow else if (m_UtilityNetWorkGEN.GetFlowDirection(EdgeEID) == esriFlowDirection.esriFDUninitialized) { IGeometry m_Geometry = m_GeometricNetwork.get_GeometryForEdgeEID(EdgeEID); m_SD.StartDrawing(m_SD.hDC, GN_CacheID); m_SD.SetSymbol(m_RedLineSymbol as ISymbol); m_SD.DrawPolyline(m_Geometry); m_SD.FinishDrawing(); } //Blue line for Edge that Indeterminate flow else if (m_UtilityNetWorkGEN.GetFlowDirection(EdgeEID) == esriFlowDirection.esriFDIndeterminate) { IGeometry m_Geometry = m_GeometricNetwork.get_GeometryForEdgeEID(EdgeEID); m_SD.StartDrawing(m_SD.hDC, GN_CacheID); m_SD.SetSymbol(m_BlueLineSymbol as ISymbol); m_SD.DrawPolyline(m_Geometry); m_SD.FinishDrawing(); } EdgeEID = m_EnumNetEID.Next(); } }