private void timerAutoRefresh_Tick(object sender, EventArgs e)
{
if (m_schematicInMemoryDiagram != null && this.AutoOn.Checked)
{
timerAutoRefresh.Stop();
m_schematicInMemoryDiagram.Refresh();
ILayer layer;
IDocument doc;
IMxDocument mxDoc;
IMaps maps;
IEnumLayer enumLayers;
IMap map;
ISchematicLayer schematicLayer = null;
doc = m_application.Document;
mxDoc = doc as IMxDocument;
if (mxDoc == null) return;
maps = mxDoc.Maps;
for (int i = 0; i < maps.Count; i++)
{
map = maps.get_Item(i);
enumLayers = map.get_Layers(null, true);
enumLayers.Reset();
layer = enumLayers.Next();
while (layer != null)
{
string sText = layer.Name;
try
{
if (layer is ISchematicLayer)
{
schematicLayer = (ISchematicLayer)layer;
if (schematicLayer.SchematicInMemoryDiagram != null)
{
if (schematicLayer.SchematicInMemoryDiagram == m_schematicInMemoryDiagram) break;
}
else if (sText == m_schematicInMemoryDiagram.Name) break;
}
}
finally
{
layer = null;
}
schematicLayer = null;
layer = enumLayers.Next();
}
if (schematicLayer != null)
{
IActiveView actiView;
actiView = (IActiveView)map;
actiView.Refresh();
}
}
RefreshViewerWindows();
timerAutoRefresh.Start();
}
}
}