<?xml version="1.0" encoding="utf-8"?>
<Type Name="LayoutEngine" FullName="System.Windows.Forms.Layout.LayoutEngine">
  <TypeSignature Language="C#" Value="public abstract class LayoutEngine" />
  <AssemblyInfo>
    <AssemblyName>System.Windows.Forms</AssemblyName>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <since version=".NET 2.0" />
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Use the <see cref="T:System.Windows.Forms.Layout.LayoutEngine" /> class when you want to create custom layout behavior at run time. Derive your own class from the <see cref="T:System.Windows.Forms.Layout.LayoutEngine" /> class and override the <see cref="M:System.Windows.Forms.Layout.LayoutEngine.Layout(System.Object,System.Windows.Forms.LayoutEventArgs)" /> method to define your custom layout behavior. </para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides the base class for implementing layout engines.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected LayoutEngine ();" />
      <MemberType>Constructor</MemberType>
      <Parameters />
      <Docs>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Windows.Forms.Layout.LayoutEngine" /> class.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="InitLayout">
      <MemberSignature Language="C#" Value="public virtual void InitLayout (object child, System.Windows.Forms.BoundsSpecified specified);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="child" Type="System.Object" />
        <Parameter Name="specified" Type="System.Windows.Forms.BoundsSpecified" />
      </Parameters>
      <Docs>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Optionally provide initialization logic in the <see cref="M:System.Windows.Forms.Layout.LayoutEngine.InitLayout(System.Object,System.Windows.Forms.BoundsSpecified)" /> method. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes the layout engine.</para>
        </summary>
        <param name="child">
          <attribution license="cc4" from="Microsoft" modified="false" />The container on which the layout engine will operate.</param>
        <param name="specified">
          <attribution license="cc4" from="Microsoft" modified="false" />The bounds defining the container's size and position.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Layout">
      <MemberSignature Language="C#" Value="public virtual bool Layout (object container, System.Windows.Forms.LayoutEventArgs layoutEventArgs);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="container" Type="System.Object" />
        <Parameter Name="layoutEventArgs" Type="System.Windows.Forms.LayoutEventArgs" />
      </Parameters>
      <Docs>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method is called when the layout engine is to perform a layout operation on the <paramref name="container" /> parameter. You can check the value of the <see cref="P:System.Windows.Forms.LayoutEventArgs.AffectedProperty" />, <see cref="P:System.Windows.Forms.LayoutEventArgs.AffectedComponent" />, and <see cref="P:System.Windows.Forms.LayoutEventArgs.AffectedControl" /> properties on <paramref name="layoutEventArgs" /> to decide if a layout operation is necessary.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Requests that the layout engine perform a layout operation.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>true if layout should be performed again by the parent of <paramref name="container" />; otherwise, false.</para>
        </returns>
        <param name="container">
          <attribution license="cc4" from="Microsoft" modified="false" />The container on which the layout engine will operate.</param>
        <param name="layoutEventArgs">
          <attribution license="cc4" from="Microsoft" modified="false" />An event argument from a <see cref="E:System.Windows.Forms.Control.Layout" /> event.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>