<?xml version="1.0" encoding="utf-8"?>
<Type Name="Timer" FullName="System.Windows.Forms.Timer">
  <TypeSignature Language="C#" Value="public class Timer : System.ComponentModel.Component" />
  <AssemblyInfo>
    <AssemblyName>System.Windows.Forms</AssemblyName>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.ComponentModel.Component</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.ComponentModel.ToolboxItemFilter("System.Windows.Forms", System.ComponentModel.ToolboxItemFilterType.Allow)</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.ComponentModel.DefaultEvent("Tick")</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.ComponentModel.DefaultProperty("Interval")</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>A <see cref="T:System.Windows.Forms.Timer" /> is used to raise an event at user-defined intervals. This Windows timer is designed for a single-threaded environment where UI threads are used to perform processing. It requires that the user code have a UI message pump available and always operate from the same thread, or marshal the call onto another thread.</para>
      <para>When you use this timer, use the <see cref="E:System.Windows.Forms.Timer.Tick" /> event to perform a polling operation or to display a splash screen for a specified period of time. Whenever the <see cref="P:System.Windows.Forms.Timer.Enabled" /> property is set to true and the <see cref="P:System.Windows.Forms.Timer.Interval" /> property is greater than zero, the <see cref="E:System.Windows.Forms.Timer.Tick" /> event is raised at intervals based on the <see cref="P:System.Windows.Forms.Timer.Interval" /> property setting.</para>
      <para>This class provides methods to set the interval, and to start and stop the timer.</para>
      <block subset="none" type="note">
        <para>The Windows Forms Timer component is single-threaded, and is limited to an accuracy of 55 milliseconds. If you require a multithreaded timer with greater accuracy, use the <see cref="T:System.Timers.Timer" /> class in the <see cref="N:System.Timers" /> namespace.</para>
      </block>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Implements a timer that raises an event at user-defined intervals. This timer is optimized for use in Windows Forms applications and must be used in a window.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Timer ();" />
      <MemberType>Constructor</MemberType>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When a new timer is created, it is disabled; that is, <see cref="P:System.Windows.Forms.Timer.Enabled" /> is set to false. To enable the timer, call the <see cref="M:System.Windows.Forms.Timer.Start" /> method or set <see cref="P:System.Windows.Forms.Timer.Enabled" /> to true.</para>
          <para>If the timer is disabled and the timer is out of scope, the timer will be disposed when garbage collection occurs. If the timer is enabled, even if it is out of scope, it is not subject to garbage collection.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Windows.Forms.Timer" /> class.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Timer (System.ComponentModel.IContainer container);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="container" Type="System.ComponentModel.IContainer" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="T:System.Windows.Forms.Timer" /> constructor enables you to associate a <see cref="T:System.Windows.Forms.Timer" /> with any <see cref="T:System.ComponentModel.Container" /> object. By associating the <see cref="T:System.Windows.Forms.Timer" /> like this, you hand over control of the lifetime of the <see cref="T:System.Windows.Forms.Timer" /> to the <see cref="T:System.ComponentModel.Container" />. This can be useful if you use a number of components in your application and want to dispose of all of them simultaneously. For example, if you associate a <see cref="T:System.Windows.Forms.ToolTip" />, an <see cref="T:System.Windows.Forms.ImageList" />, and a <see cref="T:System.Windows.Forms.Timer" /> with a <see cref="T:System.ComponentModel.Container" />, calling <see cref="M:System.ComponentModel.Container.Dispose" /> on the <see cref="T:System.ComponentModel.Container" /> will force disposal of all of these components as well.</para>
          <para>When a new timer is created, it is disabled; that is, <see cref="P:System.Windows.Forms.Timer.Enabled" /> is set to false. To enable the timer, call the <see cref="M:System.Windows.Forms.Timer.Start" /> method or set <see cref="P:System.Windows.Forms.Timer.Enabled" /> to true.</para>
          <para>This instance will exist until its container releases it to garbage collection.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Windows.Forms.Timer" /> class together with the specified container.</para>
        </summary>
        <param name="container">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.ComponentModel.IContainer" /> that represents the container for the timer. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="protected override void Dispose (bool disposing);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="disposing" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Call <see cref="M:System.Windows.Forms.Timer.Dispose(System.Boolean)" /> when you are finished using the timer. The <see cref="M:System.Windows.Forms.Timer.Dispose(System.Boolean)" /> method leaves the timer in an unusable state. After you call <see cref="M:System.Windows.Forms.Timer.Dispose(System.Boolean)" />, you must release all references to the timer so the memory it was occupying can be reclaimed by garbage collection.</para>
          <block subset="none" type="note">
            <para>Always call <see cref="M:System.Windows.Forms.Timer.Dispose(System.Boolean)" /> before you release your last reference to the timer. Otherwise, the resources the timer is using will not be freed until garbage collection calls the destructor of the timer object.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Disposes of the resources, other than memory, used by the timer.</para>
        </summary>
        <param name="disposing">
          <attribution license="cc4" from="Microsoft" modified="false" />true to release both managed and unmanaged resources. false to release only the unmanaged resources.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Enabled">
      <MemberSignature Language="C#" Value="public virtual bool Enabled { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The timer is not subject to garbage collection when the value is true.</para>
          <para>Calling the <see cref="M:System.Windows.Forms.Timer.Start" /> method is the same as setting <see cref="P:System.Windows.Forms.Timer.Enabled" /> to true. Likewise, calling the <see cref="M:System.Windows.Forms.Timer.Stop" /> method is the same as setting <see cref="P:System.Windows.Forms.Timer.Enabled" /> to false.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets whether the timer is running.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Interval">
      <MemberSignature Language="C#" Value="public int Interval { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(100)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>To get the number of seconds in the interval, divide this number by 1,000.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the time, in milliseconds, before the <see cref="E:System.Windows.Forms.Timer.Tick" /> event is raised relative to the last occurrence of the <see cref="E:System.Windows.Forms.Timer.Tick" /> event.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="OnTick">
      <MemberSignature Language="C#" Value="protected virtual void OnTick (EventArgs e);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.EventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method is called for each timer tick. It calls any methods that are added through <see cref="E:System.Windows.Forms.Timer.Tick" />. If you are inheriting from <see cref="T:System.Windows.Forms.Timer" />, you can override this method.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="F2ADAF01-1ED1-42E1-8C31-8D467E7E0EE2">Raising an Event</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Windows.Forms.Timer.Tick" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.EventArgs" /> that contains the event data. This is always <see cref="F:System.EventArgs.Empty" />. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Start">
      <MemberSignature Language="C#" Value="public void Start ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>You can also start the timer by setting the <see cref="P:System.Windows.Forms.Timer.Enabled" /> property to true.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Starts the timer.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Stop">
      <MemberSignature Language="C#" Value="public void Stop ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>You can also stop the timer by setting the <see cref="P:System.Windows.Forms.Timer.Enabled" /> property to false. A <see cref="T:System.Windows.Forms.Timer" /> object may be enabled and disabled multiple times within the same application session. </para>
          <para>Calling <see cref="M:System.Windows.Forms.Timer.Start" /> after you have disabled a <see cref="T:System.Windows.Forms.Timer" /> by calling <see cref="M:System.Windows.Forms.Timer.Stop" /> will cause the <see cref="T:System.Windows.Forms.Timer" /> to restart the interrupted interval. If your <see cref="T:System.Windows.Forms.Timer" /> is set for a 5000-millisecond interval, and you call <see cref="M:System.Windows.Forms.Timer.Stop" /> at around 3000 milliseconds, calling <see cref="M:System.Windows.Forms.Timer.Start" /> will cause the <see cref="T:System.Windows.Forms.Timer" /> to wait 5000 milliseconds before raising the <see cref="E:System.Windows.Forms.Timer.Tick" /> event.</para>
          <block subset="none" type="note">
            <para>Calling Stop on any <see cref="T:System.Windows.Forms.Timer" /> within a Windows Forms application can cause messages from other <see cref="T:System.Windows.Forms.Timer" /> components in the application to be processed immediately, because all <see cref="T:System.Windows.Forms.Timer" /> components operate on the main application thread. If you have two <see cref="T:System.Windows.Forms.Timer" /> components, one set to 700 milliseconds and one set to 500 milliseconds, and you call <see cref="M:System.Windows.Forms.Timer.Stop" /> on the first <see cref="T:System.Windows.Forms.Timer" />, your application may receive an event callback for the second component first. If this proves problematic, consider using the <see cref="T:System.Threading.Timer" /> class in the <see cref="N:System.Threading" /> namespace instead.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Stops the timer.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Tag">
      <MemberSignature Language="C#" Value="public object Tag { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(null)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.TypeConverter(typeof(System.ComponentModel.StringConverter))</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.Bindable(true)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.Localizable(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets an arbitrary string representing some type of user state.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Tick">
      <MemberSignature Language="C#" Value="public event EventHandler Tick;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Calling the <see cref="Overload:System.Diagnostics.Debug.Assert" /> method on the <see cref="T:System.Diagnostics.Debug" /> class from within the <see cref="E:System.Windows.Forms.Timer.Tick" /> event may not behave as expected, as displaying the assertion dialog box may cause Windows to raise the <see cref="E:System.Windows.Forms.Timer.Tick" /> event repeatedly. We recommend that you refrain from testing assertions within this event, and use the <see cref="Overload:System.Diagnostics.Debug.Write" />, <see cref="Overload:System.Diagnostics.Debug.WriteIf" />, <see cref="Overload:System.Diagnostics.Debug.WriteLine" />, or <see cref="Overload:System.Diagnostics.Debug.WriteLineIf" /> methods instead.</para>
          <para>For more information about handling events, see <format type="text/html"><a href="01E4F1BC-E55E-413F-98C7-6588493E5F67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when the specified timer interval has elapsed and the timer is enabled.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="C#" Value="public override string ToString ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Windows.Forms.Timer.ToString" /> method returns a string that includes the value of the <see cref="P:System.Windows.Forms.Timer.Interval" /> property.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns a string that represents the <see cref="T:System.Windows.Forms.Timer" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A string that represents the current <see cref="T:System.Windows.Forms.Timer" />. </para>
        </returns>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>