Autorefresh.FormAutoRefresh.timerAutoRefresh_Tick C# (CSharp) Method

timerAutoRefresh_Tick() private method

private timerAutoRefresh_Tick ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
		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();
			}
		}
	}