Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
1339 lines (1243 sloc) 96 KB
<Type Name="ContainerControl" FullName="System.Windows.Forms.ContainerControl">
<TypeSignature Language="C#" Value="public class ContainerControl : System.Windows.Forms.ScrollableControl, System.Windows.Forms.IContainerControl" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ContainerControl extends System.Windows.Forms.ScrollableControl implements class System.Windows.Forms.IContainerControl" />
<TypeSignature Language="DocId" Value="T:System.Windows.Forms.ContainerControl" />
<TypeSignature Language="VB.NET" Value="Public Class ContainerControl&#xA;Inherits ScrollableControl&#xA;Implements IContainerControl" />
<TypeSignature Language="C++ CLI" Value="public ref class ContainerControl : System::Windows::Forms::ScrollableControl, System::Windows::Forms::IContainerControl" />
<TypeSignature Language="F#" Value="type ContainerControl = class&#xA; inherit ScrollableControl&#xA; interface IContainerControl" />
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Windows.Forms.ScrollableControl</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.Windows.Forms.IContainerControl</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Provides focus-management functionality for controls that can function as a container for other controls.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A <xref:System.Windows.Forms.ContainerControl> represents a control that can function as a container for other controls and provides focus management. Controls that inherit from this class can track the active control they contain, even when the focus moves somewhere within a different container.
<xref:System.Windows.Forms.ContainerControl> objects provide a logical boundary for contained controls. The container control can capture the TAB key press and move focus to the next control in the collection.
> [!NOTE]
> The container control does not receive focus; the focus is always set to the first child control in the collection of contained controls.
You do not typically inherit directly from the <xref:System.Windows.Forms.ContainerControl> class. <xref:System.Windows.Forms.Form>, <xref:System.Windows.Forms.UserControl>, and <xref:System.Windows.Forms.UpDownBase> classes inherit from <xref:System.Windows.Forms.ContainerControl>.
]]></format>
</remarks>
<altmember cref="T:System.Windows.Forms.Form" />
<altmember cref="T:System.Windows.Forms.UserControl" />
<altmember cref="T:System.Windows.Forms.UpDownBase" />
<altmember cref="T:System.Windows.Forms.IContainerControl" />
<altmember cref="T:System.Windows.Forms.ScrollableControl" />
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ContainerControl ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; ContainerControl();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Windows.Forms.ContainerControl" /> class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example inherits from the <xref:System.Windows.Forms.ScrollableControl> class and implements the <xref:System.Windows.Forms.IContainerControl> interface. Implementation is added to the <xref:System.Windows.Forms.IContainerControl.ActiveControl%2A> property and the <xref:System.Windows.Forms.IContainerControl.ActivateControl%2A> method.
[!code-cpp[IContainerControl Implementation#1](~/samples/snippets/cpp/VS_Snippets_Winforms/IContainerControl Implementation/CPP/mycontainercontrol.cpp#1)]
[!code-csharp[IContainerControl Implementation#1](~/samples/snippets/csharp/VS_Snippets_Winforms/IContainerControl Implementation/CS/mycontainercontrol.cs#1)]
[!code-vb[IContainerControl Implementation#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/IContainerControl Implementation/VB/mycontainercontrol.vb#1)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ActiveControl">
<MemberSignature Language="C#" Value="public System.Windows.Forms.Control ActiveControl { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Windows.Forms.Control ActiveControl" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.ContainerControl.ActiveControl" />
<MemberSignature Language="VB.NET" Value="Public Property ActiveControl As Control" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::Windows::Forms::Control ^ ActiveControl { System::Windows::Forms::Control ^ get(); void set(System::Windows::Forms::Control ^ value); };" />
<MemberSignature Language="F#" Value="member this.ActiveControl : System.Windows.Forms.Control with get, set" Usage="System.Windows.Forms.ContainerControl.ActiveControl" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:System.Windows.Forms.IContainerControl.ActiveControl</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Windows.Forms.Control</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the active control on the container control.</summary>
<value>The <see cref="T:System.Windows.Forms.Control" /> that is currently active on the <see cref="T:System.Windows.Forms.ContainerControl" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.ContainerControl.ActiveControl%2A> property activates or retrieves the active control on the container control.
In order to receive a valid value from this property, the object that calls it must either contain or be contained in the control it is calling. If one form tries to call another form's <xref:System.Windows.Forms.ContainerControl.ActiveControl%2A> properties, it will receive an undefined value. In this case, you need to define your own communication mechanism between the forms to pass this data.
## Examples
The following code example inherits from the <xref:System.Windows.Forms.ScrollableControl> class and implements the <xref:System.Windows.Forms.IContainerControl> interface. Implementation is added to the <xref:System.Windows.Forms.IContainerControl.ActiveControl%2A> property and the <xref:System.Windows.Forms.IContainerControl.ActivateControl%2A> method.
[!code-cpp[IContainerControl Implementation#1](~/samples/snippets/cpp/VS_Snippets_Winforms/IContainerControl Implementation/CPP/mycontainercontrol.cpp#1)]
[!code-csharp[IContainerControl Implementation#1](~/samples/snippets/csharp/VS_Snippets_Winforms/IContainerControl Implementation/CS/mycontainercontrol.cs#1)]
[!code-vb[IContainerControl Implementation#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/IContainerControl Implementation/VB/mycontainercontrol.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentException">The <see cref="T:System.Windows.Forms.Control" /> assigned could not be activated.</exception>
<altmember cref="T:System.Windows.Forms.ScrollableControl" />
<altmember cref="T:System.Windows.Forms.Control" />
</Docs>
</Member>
<Member MemberName="AdjustFormScrollbars">
<MemberSignature Language="C#" Value="protected override void AdjustFormScrollbars (bool displayScrollbars);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void AdjustFormScrollbars(bool displayScrollbars) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.AdjustFormScrollbars(System.Boolean)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub AdjustFormScrollbars (displayScrollbars As Boolean)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void AdjustFormScrollbars(bool displayScrollbars);" />
<MemberSignature Language="F#" Value="override this.AdjustFormScrollbars : bool -&gt; unit" Usage="containerControl.AdjustFormScrollbars displayScrollbars" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="displayScrollbars" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="displayScrollbars">
<see langword="true" /> to show the scroll bars; otherwise, <see langword="false" />.</param>
<summary>Adjusts the scroll bars on the container based on the current control positions and the control currently selected.</summary>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.ScrollableControl.AdjustFormScrollbars(System.Boolean)" />
</Docs>
</Member>
<Member MemberName="AutoScaleDimensions">
<MemberSignature Language="C#" Value="public System.Drawing.SizeF AutoScaleDimensions { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Drawing.SizeF AutoScaleDimensions" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.ContainerControl.AutoScaleDimensions" />
<MemberSignature Language="VB.NET" Value="Public Property AutoScaleDimensions As SizeF" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::Drawing::SizeF AutoScaleDimensions { System::Drawing::SizeF get(); void set(System::Drawing::SizeF value); };" />
<MemberSignature Language="F#" Value="member this.AutoScaleDimensions : System.Drawing.SizeF with get, set" Usage="System.Windows.Forms.ContainerControl.AutoScaleDimensions" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.Localizable(true)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Drawing.SizeF</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the dimensions that the control was designed to.</summary>
<value>A <see cref="T:System.Drawing.SizeF" /> containing the dots per inch (DPI) or <see cref="T:System.Drawing.Font" /> size that the control was designed to.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.ContainerControl.AutoScaleDimensions%2A> property represents the DPI or font setting of the screen that the control was scaled to or designed for. Specifically, at design time this property will be set by the Windows Forms designer to the value your monitor is currently using. Then, when the form loads at run time, if the <xref:System.Windows.Forms.ContainerControl.CurrentAutoScaleDimensions%2A> property is different from the <xref:System.Windows.Forms.ContainerControl.AutoScaleDimensions%2A>, the <xref:System.Windows.Forms.ContainerControl.PerformAutoScale%2A> method will be called to perform scaling of the control and all of its children. Afterwards, <xref:System.Windows.Forms.ContainerControl.AutoScaleDimensions%2A> will be updated to reflect the new scaling size.
For more information about automatic scaling, see [Automatic Scaling in Windows Forms](~/docs/framework/winforms/automatic-scaling-in-windows-forms.md).
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">The width or height of the <see cref="T:System.Drawing.SizeF" /> value is less than 0 when setting this value.</exception>
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleMode" />
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleFactor" />
<altmember cref="P:System.Windows.Forms.ContainerControl.CurrentAutoScaleDimensions" />
<altmember cref="M:System.Windows.Forms.ContainerControl.PerformAutoScale" />
</Docs>
</Member>
<Member MemberName="AutoScaleFactor">
<MemberSignature Language="C#" Value="protected System.Drawing.SizeF AutoScaleFactor { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Drawing.SizeF AutoScaleFactor" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.ContainerControl.AutoScaleFactor" />
<MemberSignature Language="VB.NET" Value="Protected ReadOnly Property AutoScaleFactor As SizeF" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; property System::Drawing::SizeF AutoScaleFactor { System::Drawing::SizeF get(); };" />
<MemberSignature Language="F#" Value="member this.AutoScaleFactor : System.Drawing.SizeF" Usage="System.Windows.Forms.ContainerControl.AutoScaleFactor" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Drawing.SizeF</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the scaling factor between the current and design-time automatic scaling dimensions.</summary>
<value>A <see cref="T:System.Drawing.SizeF" /> containing the scaling ratio between the current and design-time scaling automatic scaling dimensions.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.ContainerControl.AutoScaleFactor%2A> property represents the scaling factor between the <xref:System.Windows.Forms.ContainerControl.CurrentAutoScaleDimensions%2A> and <xref:System.Windows.Forms.ContainerControl.AutoScaleDimensions%2A> properties. This value is calculated when it is required. For example, if <xref:System.Windows.Forms.ContainerControl.CurrentAutoScaleDimensions%2A> is (192, 144) and <xref:System.Windows.Forms.ContainerControl.AutoScaleDimensions%2A> is (96, 96) then the <xref:System.Windows.Forms.ContainerControl.AutoScaleFactor%2A> is (2.0, 1.5).
For more information about automatic scaling, see [Automatic Scaling in Windows Forms](~/docs/framework/winforms/automatic-scaling-in-windows-forms.md).
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleMode" />
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleDimensions" />
<altmember cref="P:System.Windows.Forms.ContainerControl.CurrentAutoScaleDimensions" />
<altmember cref="M:System.Windows.Forms.ContainerControl.PerformAutoScale" />
</Docs>
</Member>
<Member MemberName="AutoScaleMode">
<MemberSignature Language="C#" Value="public System.Windows.Forms.AutoScaleMode AutoScaleMode { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Windows.Forms.AutoScaleMode AutoScaleMode" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.ContainerControl.AutoScaleMode" />
<MemberSignature Language="VB.NET" Value="Public Property AutoScaleMode As AutoScaleMode" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::Windows::Forms::AutoScaleMode AutoScaleMode { System::Windows::Forms::AutoScaleMode get(); void set(System::Windows::Forms::AutoScaleMode value); };" />
<MemberSignature Language="F#" Value="member this.AutoScaleMode : System.Windows.Forms.AutoScaleMode with get, set" Usage="System.Windows.Forms.ContainerControl.AutoScaleMode" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Windows.Forms.AutoScaleMode</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the automatic scaling mode of the control.</summary>
<value>An <see cref="T:System.Windows.Forms.AutoScaleMode" /> that represents the current scaling mode. The default is <see cref="F:System.Windows.Forms.AutoScaleMode.None" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.ContainerControl.AutoScaleMode%2A> property specifies the current automatic scaling mode of this control. Scaling by <xref:System.Windows.Forms.AutoScaleMode.Font> is useful if you want to have a control or form stretch or shrink according to the size of the fonts in the operating system, and should be used when the absolute size of the control or form does not matter. Scaling by <xref:System.Windows.Forms.AutoScaleMode.Dpi> is useful when you want to size a control or form relative to the screen. For example, you may want to use dots per inch (DPI) scaling on a control displaying a chart or other graphic so that it always occupies a certain percentage of the screen.
For more information about automatic scaling, see [Automatic Scaling in Windows Forms](~/docs/framework/winforms/automatic-scaling-in-windows-forms.md).
]]></format>
</remarks>
<exception cref="T:System.ComponentModel.InvalidEnumArgumentException">An <see cref="T:System.Windows.Forms.AutoScaleMode" /> value that is not valid was used to set this property.</exception>
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleFactor" />
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleDimensions" />
<altmember cref="P:System.Windows.Forms.ContainerControl.CurrentAutoScaleDimensions" />
<altmember cref="M:System.Windows.Forms.ContainerControl.PerformAutoScale" />
</Docs>
</Member>
<Member MemberName="AutoValidate">
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.AutoValidate AutoValidate { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Windows.Forms.AutoValidate AutoValidate" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.ContainerControl.AutoValidate" />
<MemberSignature Language="VB.NET" Value="Public Overridable Property AutoValidate As AutoValidate" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::Windows::Forms::AutoValidate AutoValidate { System::Windows::Forms::AutoValidate get(); void set(System::Windows::Forms::AutoValidate value); };" />
<MemberSignature Language="F#" Value="member this.AutoValidate : System.Windows.Forms.AutoValidate with get, set" Usage="System.Windows.Forms.ContainerControl.AutoValidate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.AmbientValue(Mono.Cecil.CustomAttributeArgument)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Windows.Forms.AutoValidate</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets a value that indicates whether controls in this container will be automatically validated when the focus changes.</summary>
<value>An <see cref="T:System.Windows.Forms.AutoValidate" /> enumerated value that indicates whether contained controls are implicitly validated on focus change. The default is <see cref="F:System.Windows.Forms.AutoValidate.Inherit" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The default value for <xref:System.Windows.Forms.ContainerControl.AutoValidate%2A> will differ for each control. For more details on implicit validation, see [User Input Validation in Windows Forms](~/docs/framework/winforms/user-input-validation-in-windows-forms.md).
Setting this property to a new value will raise the <xref:System.Windows.Forms.ContainerControl.AutoValidateChanged> event.
## Examples
The following code example turns off implicit validation for a form and all of its contained controls, and instead manually performs validation of all of the form's children when a mouse button is clicked.
[!code-csharp[ValidateChildren#1](~/samples/snippets/csharp/VS_Snippets_Winforms/ValidateChildren/CS/Form1.cs#1)]
[!code-vb[ValidateChildren#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/ValidateChildren/VB/Form1.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ComponentModel.InvalidEnumArgumentException">A <see cref="T:System.Windows.Forms.AutoValidate" /> value that is not valid was used to set this property.</exception>
<altmember cref="T:System.Windows.Forms.AutoValidate" />
<altmember cref="Overload:System.Windows.Forms.ContainerControl.Validate" />
<altmember cref="E:System.Windows.Forms.ContainerControl.AutoValidateChanged" />
</Docs>
</Member>
<Member MemberName="AutoValidateChanged">
<MemberSignature Language="C#" Value="public event EventHandler AutoValidateChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler AutoValidateChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.ContainerControl.AutoValidateChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event AutoValidateChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ AutoValidateChanged;" />
<MemberSignature Language="F#" Value="member this.AutoValidateChanged : EventHandler " Usage="member this.AutoValidateChanged : System.EventHandler " />
<MemberType>Event</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the <see cref="P:System.Windows.Forms.ContainerControl.AutoValidate" /> property changes.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
For more information about handling events, see [Handling and Raising Events](~/docs/standard/events/index.md).
## Examples
<xref:System.Windows.Forms.ContainerControl.AutoValidate%2A>
<xref:System.Windows.Forms.ContainerControl.OnAutoValidateChanged%2A>
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="BindingContext">
<MemberSignature Language="C#" Value="public override System.Windows.Forms.BindingContext BindingContext { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Windows.Forms.BindingContext BindingContext" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.ContainerControl.BindingContext" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property BindingContext As BindingContext" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::Windows::Forms::BindingContext ^ BindingContext { System::Windows::Forms::BindingContext ^ get(); void set(System::Windows::Forms::BindingContext ^ value); };" />
<MemberSignature Language="F#" Value="member this.BindingContext : System.Windows.Forms.BindingContext with get, set" Usage="System.Windows.Forms.ContainerControl.BindingContext" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Windows.Forms.BindingContext</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the <see cref="T:System.Windows.Forms.BindingContext" /> for the control.</summary>
<value>A <see cref="T:System.Windows.Forms.BindingContext" /> for the control.</value>
<remarks>To be added.</remarks>
<altmember cref="P:System.Windows.Forms.Control.BindingContext" />
</Docs>
</Member>
<Member MemberName="CanEnableIme">
<MemberSignature Language="C#" Value="protected override bool CanEnableIme { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanEnableIme" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.ContainerControl.CanEnableIme" />
<MemberSignature Language="VB.NET" Value="Protected Overrides ReadOnly Property CanEnableIme As Boolean" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual property bool CanEnableIme { bool get(); };" />
<MemberSignature Language="F#" Value="member this.CanEnableIme : bool" Usage="System.Windows.Forms.ContainerControl.CanEnableIme" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the <see cref="P:System.Windows.Forms.Control.ImeMode" /> property can be set to an active value, to enable IME support.</summary>
<value>
<see langword="false" /> in all cases.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
In the [!INCLUDE[dnprdnlong](~/includes/dnprdnlong-md.md)] and later, IME functionality is handled by the framework and native IME support for individual controls is disabled.
A user control that derives from the <xref:System.Windows.Forms.ContainerControl> class can enable native IME support by overriding this property to return `true`. However, the application is then responsible for making sure that there are no conflicts between the native IME and the Windows Forms IME. This scenario is not supported.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="CreateParams">
<MemberSignature Language="C#" Value="protected override System.Windows.Forms.CreateParams CreateParams { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Windows.Forms.CreateParams CreateParams" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.ContainerControl.CreateParams" />
<MemberSignature Language="VB.NET" Value="Protected Overrides ReadOnly Property CreateParams As CreateParams" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual property System::Windows::Forms::CreateParams ^ CreateParams { System::Windows::Forms::CreateParams ^ get(); };" />
<MemberSignature Language="F#" Value="member this.CreateParams : System.Windows.Forms.CreateParams" Usage="System.Windows.Forms.ContainerControl.CreateParams" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Forms.CreateParams</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the required creation parameters when the control handle is created.</summary>
<value>A <see cref="T:System.Windows.Forms.CreateParams" /> that contains the required creation parameters when the handle to the control is created.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CurrentAutoScaleDimensions">
<MemberSignature Language="C#" Value="public System.Drawing.SizeF CurrentAutoScaleDimensions { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Drawing.SizeF CurrentAutoScaleDimensions" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.ContainerControl.CurrentAutoScaleDimensions" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property CurrentAutoScaleDimensions As SizeF" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::Drawing::SizeF CurrentAutoScaleDimensions { System::Drawing::SizeF get(); };" />
<MemberSignature Language="F#" Value="member this.CurrentAutoScaleDimensions : System.Drawing.SizeF" Usage="System.Windows.Forms.ContainerControl.CurrentAutoScaleDimensions" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Drawing.SizeF</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the current run-time dimensions of the screen.</summary>
<value>A <see cref="T:System.Drawing.SizeF" /> containing the current dots per inch (DPI) or <see cref="T:System.Drawing.Font" /> size of the screen.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.ContainerControl.CurrentAutoScaleDimensions%2A> property represents the reference dimensions on the current screen. In contrast, the <xref:System.Windows.Forms.ContainerControl.AutoScaleDimensions%2A> property represents the design-time reference dimensions of the design environment for the current control, while the <xref:System.Windows.Forms.ContainerControl.AutoScaleFactor%2A> property is the ratio of the two.
The interpretation of the dimension value depends on the <xref:System.Windows.Forms.ContainerControl.AutoScaleMode%2A> property in the following ways:
- If the mode is <xref:System.Windows.Forms.AutoScaleMode.Dpi>, this property represents the resolution of the screen, in dots per inch.
- If the mode is <xref:System.Windows.Forms.AutoScaleMode.Font>, this property represents the average font character size in pixels.
If the <xref:System.Windows.Forms.ContainerControl.AutoScaleMode%2A> property is set to <xref:System.Windows.Forms.AutoScaleMode.None>, <xref:System.Windows.Forms.ContainerControl.CurrentAutoScaleDimensions%2A> is set equal to <xref:System.Windows.Forms.ContainerControl.AutoScaleDimensions%2A>.
For more information about automatic scaling, see [Automatic Scaling in Windows Forms](~/docs/framework/winforms/automatic-scaling-in-windows-forms.md).
]]></format>
</remarks>
<exception cref="T:System.ComponentModel.Win32Exception">A Win32 device context could not be created for the current screen.</exception>
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleMode" />
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleFactor" />
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleDimensions" />
<altmember cref="M:System.Windows.Forms.ContainerControl.PerformAutoScale" />
</Docs>
</Member>
<Member MemberName="Dispose">
<MemberSignature Language="C#" Value="protected override void Dispose (bool disposing);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Dispose(bool disposing) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.Dispose(System.Boolean)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub Dispose (disposing As Boolean)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void Dispose(bool disposing);" />
<MemberSignature Language="F#" Value="override this.Dispose : bool -&gt; unit" Usage="containerControl.Dispose disposing" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="disposing" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="disposing">
<see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
<summary>Releases the unmanaged resources used by the <see cref="T:System.Windows.Forms.Control" /> and its child controls and optionally releases the managed resources.</summary>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.Dispose(System.Boolean)" />
</Docs>
</Member>
<Member MemberName="OnAutoValidateChanged">
<MemberSignature Language="C#" Value="protected virtual void OnAutoValidateChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnAutoValidateChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.OnAutoValidateChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnAutoValidateChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnAutoValidateChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnAutoValidateChanged : EventArgs -&gt; unit&#xA;override this.OnAutoValidateChanged : EventArgs -&gt; unit" Usage="containerControl.OnAutoValidateChanged e" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="e" Type="System.EventArgs" Index="0" FrameworkAlternate="netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
</Parameters>
<Docs>
<param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
<summary>Raises the <see cref="E:System.Windows.Forms.ContainerControl.AutoValidateChanged" /> event.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Raising an event invokes the event handler through a delegate. For more information, see [Handling and Raising Events](~/docs/standard/events/index.md).
The <xref:System.Windows.Forms.ContainerControl.OnAutoValidateChanged%2A> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>When overriding <see cref="M:System.Windows.Forms.ContainerControl.OnAutoValidateChanged(System.EventArgs)" /> in a derived class, be sure to call the base class' <see cref="M:System.Windows.Forms.ContainerControl.OnAutoValidateChanged(System.EventArgs)" /> method so that registered delegates receive the event.</para>
</block>
<altmember cref="E:System.Windows.Forms.ContainerControl.AutoValidateChanged" />
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoValidate" />
<altmember cref="M:System.Windows.Forms.Control.OnValidated(System.EventArgs)" />
<altmember cref="M:System.Windows.Forms.Control.OnValidating(System.ComponentModel.CancelEventArgs)" />
</Docs>
</Member>
<Member MemberName="OnCreateControl">
<MemberSignature Language="C#" Value="protected override void OnCreateControl ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnCreateControl() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.OnCreateControl" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnCreateControl ()" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnCreateControl();" />
<MemberSignature Language="F#" Value="override this.OnCreateControl : unit -&gt; unit" Usage="containerControl.OnCreateControl " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Raises the <see cref="M:System.Windows.Forms.Control.CreateControl" /> method.</summary>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.OnCreateControl" />
</Docs>
</Member>
<Member MemberName="OnFontChanged">
<MemberSignature Language="C#" Value="protected override void OnFontChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnFontChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.OnFontChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnFontChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnFontChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="override this.OnFontChanged : EventArgs -&gt; unit" Usage="containerControl.OnFontChanged e" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="e" Type="System.EventArgs" Index="0" FrameworkAlternate="netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
</Parameters>
<Docs>
<param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
<summary>Raises the <see cref="E:System.Windows.Forms.Control.FontChanged" /> event.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Changing the font used by a <xref:System.Windows.Forms.ContainerControl> will cause the layout to be recalculated and reapplied to the contained controls if the <xref:System.Windows.Forms.ContainerControl.AutoScaleMode%2A> property has a value of <xref:System.Windows.Forms.AutoScaleMode.Font>.
Raising an event invokes the event handler through a delegate. For more information, see [Handling and Raising Events](~/docs/standard/events/index.md).
The <xref:System.Windows.Forms.ContainerControl.OnFontChanged%2A> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>When overriding <see cref="M:System.Windows.Forms.ContainerControl.OnFontChanged(System.EventArgs)" /> in a derived class, be sure to call the base class' <see cref="M:System.Windows.Forms.ContainerControl.OnFontChanged(System.EventArgs)" /> method so that registered delegates receive the event.</para>
</block>
<altmember cref="E:System.Windows.Forms.Control.FontChanged" />
<altmember cref="P:System.Windows.Forms.Control.Font" />
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleMode" />
</Docs>
</Member>
<Member MemberName="OnLayout">
<MemberSignature Language="C#" Value="protected override void OnLayout (System.Windows.Forms.LayoutEventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnLayout(class System.Windows.Forms.LayoutEventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.OnLayout(System.Windows.Forms.LayoutEventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnLayout (e As LayoutEventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnLayout(System::Windows::Forms::LayoutEventArgs ^ e);" />
<MemberSignature Language="F#" Value="override this.OnLayout : System.Windows.Forms.LayoutEventArgs -&gt; unit" Usage="containerControl.OnLayout e" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="e" Type="System.Windows.Forms.LayoutEventArgs" Index="0" FrameworkAlternate="netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
</Parameters>
<Docs>
<param name="e">A <see cref="T:System.Windows.Forms.LayoutEventArgs" /> that contains the event data.</param>
<summary>Raises the <see cref="E:System.Windows.Forms.Control.Layout" /> event.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="OnParentChanged">
<MemberSignature Language="C#" Value="protected override void OnParentChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnParentChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.OnParentChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnParentChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnParentChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="override this.OnParentChanged : EventArgs -&gt; unit" Usage="containerControl.OnParentChanged e" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="e" Type="System.EventArgs" Index="0" FrameworkAlternate="netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
</Parameters>
<Docs>
<param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
<summary>Raises the <see cref="E:System.Windows.Forms.Control.ParentChanged" /> event.</summary>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.OnParentChanged(System.EventArgs)" />
</Docs>
</Member>
<Member MemberName="ParentForm">
<MemberSignature Language="C#" Value="public System.Windows.Forms.Form ParentForm { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Windows.Forms.Form ParentForm" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.ContainerControl.ParentForm" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property ParentForm As Form" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::Windows::Forms::Form ^ ParentForm { System::Windows::Forms::Form ^ get(); };" />
<MemberSignature Language="F#" Value="member this.ParentForm : System.Windows.Forms.Form" Usage="System.Windows.Forms.ContainerControl.ParentForm" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Windows.Forms.Form</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the form that the container control is assigned to.</summary>
<value>The <see cref="T:System.Windows.Forms.Form" /> that the container control is assigned to. This property will return null if the control is hosted inside of Internet Explorer or in another hosting context where there is no parent form.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example shows how to create two forms: `Form1` and `Form2`. Set the <xref:System.Windows.Forms.Form.IsMdiContainer%2A> property of `Form1` to `true` and make it the <xref:System.Windows.Forms.Form.MdiParent%2A> of `Form2`. Next, create a button, `button1`, on each form. When the button on the parent form is clicked, the event handler displays the child form. When the button on the child form is clicked, the event handler displays the <xref:System.Windows.Forms.Control.Name%2A> property of its parent form. Use the following two code segments to overwrite `button1` event handlers in both forms.
[!code-cpp[ParentForm2#1](~/samples/snippets/cpp/VS_Snippets_Winforms/ParentForm2/CPP/form1.cpp#1)]
[!code-csharp[ParentForm2#1](~/samples/snippets/csharp/VS_Snippets_Winforms/ParentForm2/CS/form1.cs#1)]
[!code-vb[ParentForm2#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/ParentForm2/VB/form1.vb#1)]
[!code-cpp[ParentForm2#2](~/samples/snippets/cpp/VS_Snippets_Winforms/ParentForm2/CPP/form2.cpp#2)]
[!code-csharp[ParentForm2#2](~/samples/snippets/csharp/VS_Snippets_Winforms/ParentForm2/CS/form2.cs#2)]
[!code-vb[ParentForm2#2](~/samples/snippets/visualbasic/VS_Snippets_Winforms/ParentForm2/VB/form2.vb#2)]
]]></format>
</remarks>
<permission cref="T:System.Security.Permissions.UIPermission">for all windows to get this property value. Associated enumeration: <see cref="F:System.Security.Permissions.UIPermissionWindow.AllWindows" /></permission>
<altmember cref="T:System.Windows.Forms.Form" />
</Docs>
</Member>
<Member MemberName="PerformAutoScale">
<MemberSignature Language="C#" Value="public void PerformAutoScale ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void PerformAutoScale() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.PerformAutoScale" />
<MemberSignature Language="VB.NET" Value="Public Sub PerformAutoScale ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void PerformAutoScale();" />
<MemberSignature Language="F#" Value="member this.PerformAutoScale : unit -&gt; unit" Usage="containerControl.PerformAutoScale " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Performs scaling of the container control and its children.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
An explicit call to the <xref:System.Windows.Forms.ContainerControl.PerformAutoScale%2A> method is typically only required after programmatic changes to the layout during run time. <xref:System.Windows.Forms.ContainerControl.PerformAutoScale%2A> is implicitly called from the <xref:System.Windows.Forms.ContainerControl.OnLayout%2A> method.
<xref:System.Windows.Forms.ContainerControl.PerformAutoScale%2A> is recursive; each child control, if it is a container, will have its version of this method called when the container's version executes.
For more information about automatic scaling, see [Automatic Scaling in Windows Forms](~/docs/framework/winforms/automatic-scaling-in-windows-forms.md).
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.Form.AutoScale" />
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleMode" />
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoScaleFactor" />
<altmember cref="M:System.Windows.Forms.ContainerControl.OnLayout(System.Windows.Forms.LayoutEventArgs)" />
</Docs>
</Member>
<Member MemberName="ProcessCmdKey">
<MemberSignature Language="C#" Value="protected override bool ProcessCmdKey (ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance bool ProcessCmdKey(valuetype System.Windows.Forms.Message&amp; msg, valuetype System.Windows.Forms.Keys keyData) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.ProcessCmdKey(System.Windows.Forms.Message@,System.Windows.Forms.Keys)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Function ProcessCmdKey (ByRef msg As Message, keyData As Keys) As Boolean" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override bool ProcessCmdKey(System::Windows::Forms::Message % msg, System::Windows::Forms::Keys keyData);" />
<MemberSignature Language="F#" Value="override this.ProcessCmdKey : * System.Windows.Forms.Keys -&gt; bool" Usage="containerControl.ProcessCmdKey (msg, keyData)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="msg" Type="System.Windows.Forms.Message" RefType="ref" Index="0" FrameworkAlternate="netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
<Parameter Name="keyData" Type="System.Windows.Forms.Keys" Index="1" FrameworkAlternate="netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
</Parameters>
<Docs>
<param name="msg">A <see cref="T:System.Windows.Forms.Message" />, passed by reference, that represents the window message to process.</param>
<param name="keyData">One of the <see cref="T:System.Windows.Forms.Keys" /> values that represents the key to process.</param>
<summary>Processes a command key.</summary>
<returns>
<see langword="true" /> if the character was processed by the control; otherwise, <see langword="false" />.</returns>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.ProcessCmdKey(System.Windows.Forms.Message@,System.Windows.Forms.Keys)" />
</Docs>
</Member>
<Member MemberName="ProcessDialogChar">
<MemberSignature Language="C#" Value="protected override bool ProcessDialogChar (char charCode);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance bool ProcessDialogChar(char charCode) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.ProcessDialogChar(System.Char)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Function ProcessDialogChar (charCode As Char) As Boolean" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override bool ProcessDialogChar(char charCode);" />
<MemberSignature Language="F#" Value="override this.ProcessDialogChar : char -&gt; bool" Usage="containerControl.ProcessDialogChar charCode" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="charCode" Type="System.Char" />
</Parameters>
<Docs>
<param name="charCode">The character to process.</param>
<summary>Processes a dialog character.</summary>
<returns>
<see langword="true" /> if the character was processed by the control; otherwise, <see langword="false" />.</returns>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.ProcessDialogChar(System.Char)" />
</Docs>
</Member>
<Member MemberName="ProcessDialogKey">
<MemberSignature Language="C#" Value="protected override bool ProcessDialogKey (System.Windows.Forms.Keys keyData);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance bool ProcessDialogKey(valuetype System.Windows.Forms.Keys keyData) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.ProcessDialogKey(System.Windows.Forms.Keys)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Function ProcessDialogKey (keyData As Keys) As Boolean" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override bool ProcessDialogKey(System::Windows::Forms::Keys keyData);" />
<MemberSignature Language="F#" Value="override this.ProcessDialogKey : System.Windows.Forms.Keys -&gt; bool" Usage="containerControl.ProcessDialogKey keyData" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="keyData" Type="System.Windows.Forms.Keys" />
</Parameters>
<Docs>
<param name="keyData">One of the <see cref="T:System.Windows.Forms.Keys" /> values that represents the key to process.</param>
<summary>Processes a dialog key.</summary>
<returns>
<see langword="true" /> if the key was processed by the control; otherwise, <see langword="false" />.</returns>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.ProcessDialogKey(System.Windows.Forms.Keys)" />
</Docs>
</Member>
<Member MemberName="ProcessMnemonic">
<MemberSignature Language="C#" Value="protected internal override bool ProcessMnemonic (char charCode);" />
<MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig virtual instance bool ProcessMnemonic(char charCode) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.ProcessMnemonic(System.Char)" />
<MemberSignature Language="VB.NET" Value="Protected Friend Overrides Function ProcessMnemonic (charCode As Char) As Boolean" />
<MemberSignature Language="C++ CLI" Value="protected public:&#xA; override bool ProcessMnemonic(char charCode);" />
<MemberSignature Language="F#" Value="override this.ProcessMnemonic : char -&gt; bool" Usage="containerControl.ProcessMnemonic charCode" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="charCode" Type="System.Char" />
</Parameters>
<Docs>
<param name="charCode">The character to process.</param>
<summary>Processes a mnemonic character.</summary>
<returns>
<see langword="true" /> if the character was processed as a mnemonic by the control; otherwise, <see langword="false" />.</returns>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.ProcessMnemonic(System.Char)" />
</Docs>
</Member>
<Member MemberName="ProcessTabKey">
<MemberSignature Language="C#" Value="protected virtual bool ProcessTabKey (bool forward);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool ProcessTabKey(bool forward) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.ProcessTabKey(System.Boolean)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Function ProcessTabKey (forward As Boolean) As Boolean" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual bool ProcessTabKey(bool forward);" />
<MemberSignature Language="F#" Value="abstract member ProcessTabKey : bool -&gt; bool&#xA;override this.ProcessTabKey : bool -&gt; bool" Usage="containerControl.ProcessTabKey forward" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="forward" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="forward">
<see langword="true" /> to cycle forward through the controls in the <see cref="T:System.Windows.Forms.ContainerControl" />; otherwise, <see langword="false" />.</param>
<summary>Selects the next available control and makes it the active control.</summary>
<returns>
<see langword="true" /> if a control is selected; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A control with its <xref:System.Windows.Forms.Control.TabStop%2A> property set to `false` cannot be selected, so the next available control will be selected.
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.Control.TabStop" />
</Docs>
</Member>
<Member MemberName="Select">
<MemberSignature Language="C#" Value="protected override void Select (bool directed, bool forward);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Select(bool directed, bool forward) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.Select(System.Boolean,System.Boolean)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub Select (directed As Boolean, forward As Boolean)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void Select(bool directed, bool forward);" />
<MemberSignature Language="F#" Value="override this.Select : bool * bool -&gt; unit" Usage="containerControl.Select (directed, forward)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="directed" Type="System.Boolean" />
<Parameter Name="forward" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="directed">
<see langword="true" /> to specify the direction of the control to select; otherwise, <see langword="false" />.</param>
<param name="forward">
<see langword="true" /> to move forward in the tab order; <see langword="false" /> to move backward in the tab order.</param>
<summary>Activates a child control. Optionally specifies the direction in the tab order to select the control from.</summary>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.Select(System.Boolean,System.Boolean)" />
</Docs>
</Member>
<Member MemberName="System.Windows.Forms.IContainerControl.ActivateControl">
<MemberSignature Language="C#" Value="bool IContainerControl.ActivateControl (System.Windows.Forms.Control control);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool System.Windows.Forms.IContainerControl.ActivateControl(class System.Windows.Forms.Control control) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.System#Windows#Forms#IContainerControl#ActivateControl(System.Windows.Forms.Control)" />
<MemberSignature Language="C++ CLI" Value=" virtual bool System.Windows.Forms.IContainerControl.ActivateControl(System::Windows::Forms::Control ^ control) = System::Windows::Forms::IContainerControl::ActivateControl;" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Windows.Forms.IContainerControl.ActivateControl(System.Windows.Forms.Control)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="control" Type="System.Windows.Forms.Control" />
</Parameters>
<Docs>
<param name="control">The <see cref="T:System.Windows.Forms.Control" /> to activate.</param>
<summary>Activates the specified control.</summary>
<returns>
<see langword="true" /> if the control is successfully activated; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The `control` parameter must be a child of the container control.
## Examples
The following code example demonstrates how to inherit from the <xref:System.Windows.Forms.ScrollableControl> class and implement the <xref:System.Windows.Forms.IContainerControl> interface. Implementation is added to the <xref:System.Windows.Forms.IContainerControl.ActiveControl%2A> property and the <xref:System.Windows.Forms.IContainerControl.ActivateControl%2A> method.
[!code-cpp[IContainerControl Implementation#1](~/samples/snippets/cpp/VS_Snippets_Winforms/IContainerControl Implementation/CPP/mycontainercontrol.cpp#1)]
[!code-csharp[IContainerControl Implementation#1](~/samples/snippets/csharp/VS_Snippets_Winforms/IContainerControl Implementation/CS/mycontainercontrol.cs#1)]
[!code-vb[IContainerControl Implementation#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/IContainerControl Implementation/VB/mycontainercontrol.vb#1)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.ContainerControl.ActiveControl" />
</Docs>
</Member>
<Member MemberName="UpdateDefaultButton">
<MemberSignature Language="C#" Value="protected virtual void UpdateDefaultButton ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void UpdateDefaultButton() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.UpdateDefaultButton" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub UpdateDefaultButton ()" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void UpdateDefaultButton();" />
<MemberSignature Language="F#" Value="abstract member UpdateDefaultButton : unit -&gt; unit&#xA;override this.UpdateDefaultButton : unit -&gt; unit" Usage="containerControl.UpdateDefaultButton " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>When overridden by a derived class, updates which button is the default button.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.ContainerControl> class does not provide an implementation for the <xref:System.Windows.Forms.ContainerControl.UpdateDefaultButton%2A> method. Classes that inherit this method must implement <xref:System.Windows.Forms.ContainerControl.UpdateDefaultButton%2A> to update the default button.
]]></format>
</remarks>
</Docs>
</Member>
<MemberGroup MemberName="Validate">
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Verifies the value of the control losing focus by causing the <see cref="E:System.Windows.Forms.Control.Validating" /> and <see cref="E:System.Windows.Forms.Control.Validated" /> events to occur, in that order.</summary>
</Docs>
</MemberGroup>
<Member MemberName="Validate">
<MemberSignature Language="C#" Value="public bool Validate ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Validate() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.Validate" />
<MemberSignature Language="VB.NET" Value="Public Function Validate () As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; bool Validate();" />
<MemberSignature Language="F#" Value="member this.Validate : unit -&gt; bool" Usage="containerControl.Validate " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Verifies the value of the control losing focus by causing the <see cref="E:System.Windows.Forms.Control.Validating" /> and <see cref="E:System.Windows.Forms.Control.Validated" /> events to occur, in that order.</summary>
<returns>
<see langword="true" /> if validation is successful; otherwise, <see langword="false" />. If called from the <see cref="E:System.Windows.Forms.Control.Validating" /> or <see cref="E:System.Windows.Forms.Control.Validated" /> event handlers, this method will always return <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.ContainerControl.Validate%2A> method validates the last child control that is not validated and its ancestors up through, but not including, the current container control. This overloaded version always performs validation, regardless of the value of the <xref:System.Windows.Forms.ContainerControl.AutoValidate%2A> property of the control's parent. Therefore use it to unconditionally force validation.
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.ContainerControl.ValidateChildren" />
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoValidate" />
<altmember cref="E:System.Windows.Forms.ContainerControl.AutoValidateChanged" />
</Docs>
</Member>
<Member MemberName="Validate">
<MemberSignature Language="C#" Value="public bool Validate (bool checkAutoValidate);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Validate(bool checkAutoValidate) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.Validate(System.Boolean)" />
<MemberSignature Language="VB.NET" Value="Public Function Validate (checkAutoValidate As Boolean) As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; bool Validate(bool checkAutoValidate);" />
<MemberSignature Language="F#" Value="member this.Validate : bool -&gt; bool" Usage="containerControl.Validate checkAutoValidate" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="checkAutoValidate" Type="System.Boolean" Index="0" FrameworkAlternate="netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
</Parameters>
<Docs>
<param name="checkAutoValidate">If <see langword="true" />, the value of the <see cref="P:System.Windows.Forms.ContainerControl.AutoValidate" /> property is used to determine if validation should be performed; if <see langword="false" />, validation is unconditionally performed.</param>
<summary>Verifies the value of the control that is losing focus; conditionally dependent on whether automatic validation is turned on.</summary>
<returns>
<see langword="true" /> if validation is successful; otherwise, <see langword="false" />. If called from the <see cref="E:System.Windows.Forms.Control.Validating" /> or <see cref="E:System.Windows.Forms.Control.Validated" /> event handlers, this method will always return <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.ContainerControl.Validate%2A> method validates the last child control that is not validated and its ancestors up through, but not including, the current container control. This overloaded version performs validation based on the following conditions:
- If the `checkAutoValidate` parameter is `true`, validation always occurs for child controls that are not validated.
- If the `checkAutoValidate` parameter is `false`, validation occurs only if the <xref:System.Windows.Forms.ContainerControl.AutoValidate%2A> property of the control's parent is enabled.
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.ContainerControl.AutoValidate" />
<altmember cref="M:System.Windows.Forms.ContainerControl.ValidateChildren(System.Windows.Forms.ValidationConstraints)" />
<altmember cref="P:System.Windows.Forms.Control.CausesValidation" />
<altmember cref="E:System.Windows.Forms.ContainerControl.AutoValidateChanged" />
</Docs>
</Member>
<MemberGroup MemberName="ValidateChildren">
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Causes all of the child controls within a control that support validation to validate their data.</summary>
</Docs>
</MemberGroup>
<Member MemberName="ValidateChildren">
<MemberSignature Language="C#" Value="public virtual bool ValidateChildren ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ValidateChildren() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.ValidateChildren" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function ValidateChildren () As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual bool ValidateChildren();" />
<MemberSignature Language="F#" Value="abstract member ValidateChildren : unit -&gt; bool&#xA;override this.ValidateChildren : unit -&gt; bool" Usage="containerControl.ValidateChildren " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Causes all of the child controls within a control that support validation to validate their data.</summary>
<returns>
<see langword="true" /> if all of the children validated successfully; otherwise, <see langword="false" />. If called from the <see cref="E:System.Windows.Forms.Control.Validating" /> or <see cref="E:System.Windows.Forms.Control.Validated" /> event handlers, this method will always return <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
<xref:System.Windows.Forms.ContainerControl.ValidateChildren%2A> will descend a control's hierarchy and examine each control to see if it supports validation. If the control can be selected by the user and its <xref:System.Windows.Forms.Control.CausesValidation%2A> property is `true`, <xref:System.Windows.Forms.ContainerControl.ValidateChildren%2A> will cause the <xref:System.Windows.Forms.Control.Validating> event to occur. If any of the controls cancel the <xref:System.Windows.Forms.Control.Validating> event, this method will return `false`; otherwise, it will return `true`.
If a control is bound to a data source, and the <xref:System.Windows.Forms.Control.Validating> event occurs, it will cause the control to push its current data back to the data source.
Calling <xref:System.Windows.Forms.ContainerControl.ValidateChildren%2A> is equivalent to calling <xref:System.Windows.Forms.ContainerControl.ValidateChildren%2A> with a <xref:System.Windows.Forms.ValidationConstraints> of <xref:System.Windows.Forms.ValidationConstraints.None>.
## Examples
The following code example turns off implicit validation for a form and all of its contained controls, and instead manually performs validation of all of the form's children when a mouse button is clicked.
[!code-csharp[ValidateChildren#1](~/samples/snippets/csharp/VS_Snippets_Winforms/ValidateChildren/CS/Form1.cs#1)]
[!code-vb[ValidateChildren#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/ValidateChildren/VB/Form1.vb#1)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ValidateChildren">
<MemberSignature Language="C#" Value="public virtual bool ValidateChildren (System.Windows.Forms.ValidationConstraints validationConstraints);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ValidateChildren(valuetype System.Windows.Forms.ValidationConstraints validationConstraints) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.ValidateChildren(System.Windows.Forms.ValidationConstraints)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual bool ValidateChildren(System::Windows::Forms::ValidationConstraints validationConstraints);" />
<MemberSignature Language="F#" Value="abstract member ValidateChildren : System.Windows.Forms.ValidationConstraints -&gt; bool&#xA;override this.ValidateChildren : System.Windows.Forms.ValidationConstraints -&gt; bool" Usage="containerControl.ValidateChildren validationConstraints" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netcore-3.0">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="validationConstraints" Type="System.Windows.Forms.ValidationConstraints" Index="0" FrameworkAlternate="netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
</Parameters>
<Docs>
<param name="validationConstraints">Places restrictions on which controls have their <see cref="E:System.Windows.Forms.Control.Validating" /> event raised.</param>
<summary>Causes all of the child controls within a control that support validation to validate their data.</summary>
<returns>
<see langword="true" /> if all of the children validated successfully; otherwise, <see langword="false" />. If called from the <see cref="E:System.Windows.Forms.Control.Validating" /> or <see cref="E:System.Windows.Forms.Control.Validated" /> event handlers, this method will always return <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
<xref:System.Windows.Forms.ContainerControl.ValidateChildren%2A> will examine all the children of the current control, causing the <xref:System.Windows.Forms.Control.Validating> event to occur on a control if it meets the criteria spelled out by <xref:System.Windows.Forms.ValidationConstraints>.
You may use several <xref:System.Windows.Forms.ValidationConstraints> parameters at once by combining them with a bitwise OR operator. Combining parameters with a bitwise OR operator will result in a logical AND operation. For example, calling `ValidateChildren(ValidationConstraints.ImmediateChildren | ValidationConstraints.Enabled)` will only raise the <xref:System.Windows.Forms.Control.Validating> event on controls that are both immediate children of the container AND are enabled.
Regardless of which parameters you specify for this method, a control must have its <xref:System.Windows.Forms.Control.CausesValidation%2A> property set to `true` in order for its <xref:System.Windows.Forms.Control.Validating> event to occur. You should also set the <xref:System.Windows.Forms.ContainerControl.AutoValidate%2A> property of the control or of the control's container to `false` if you want validation to happen only when you call <xref:System.Windows.Forms.ContainerControl.ValidateChildren%2A>, and not when the user shifts focus from the control.
If a control is bound to a data source, and the <xref:System.Windows.Forms.Control.Validating> event occurs, it will cause the control to push its current data back to the data source.
You cannot achieve the opposite effect of a <xref:System.Windows.Forms.ValidationConstraints> parameter by applying a bitwise negation operator. For example, if you supply the negative value of the <xref:System.Windows.Forms.ValidationConstraints.Visible> field to <xref:System.Windows.Forms.ContainerControl.ValidateChildren%2A>, it will not validate all children that are not visible on the container. Supplying any negative parameter to <xref:System.Windows.Forms.ContainerControl.ValidateChildren%2A> will have no effect on the container or its children.
## Examples
The following code example will only cause the <xref:System.Windows.Forms.Control.Validating> event to occur for immediate children of the form whose <xref:System.Windows.Forms.Control.Enabled%2A> property is `true`.
[!code-csharp[ValidateChildrenWithConstraints#1](~/samples/snippets/csharp/VS_Snippets_Winforms/ValidateChildrenWithConstraints/CS/Form1.cs#1)]
[!code-vb[ValidateChildrenWithConstraints#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/ValidateChildrenWithConstraints/VB/Form1.vb#1)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="WndProc">
<MemberSignature Language="C#" Value="protected override void WndProc (ref System.Windows.Forms.Message m);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void WndProc(valuetype System.Windows.Forms.Message&amp; m) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.ContainerControl.WndProc(System.Windows.Forms.Message@)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub WndProc (ByRef m As Message)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void WndProc(System::Windows::Forms::Message % m);" />
<MemberSignature Language="F#" Value="override this.WndProc : -&gt; unit" Usage="containerControl.WndProc m" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="m" Type="System.Windows.Forms.Message" RefType="ref" />
</Parameters>
<Docs>
<param name="m">The Windows <see cref="T:System.Windows.Forms.Message" /> to process.</param>
<summary>Processes Windows messages.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>
You can’t perform that action at this time.