Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
3251 lines (2919 sloc) 219 KB
<Type Name="TextBoxBase" FullName="System.Windows.Forms.TextBoxBase">
<TypeSignature Language="C#" Value="public abstract class TextBoxBase : System.Windows.Forms.Control" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit TextBoxBase extends System.Windows.Forms.Control" />
<TypeSignature Language="DocId" Value="T:System.Windows.Forms.TextBoxBase" />
<TypeSignature Language="VB.NET" Value="Public MustInherit Class TextBoxBase&#xA;Inherits Control" />
<TypeSignature Language="C++ CLI" Value="public ref class TextBoxBase abstract : System::Windows::Forms::Control" />
<TypeSignature Language="F#" Value="type TextBoxBase = class&#xA; inherit Control" />
<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.Control</BaseTypeName>
</Base>
<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.ComponentModel.DefaultBindingProperty("Text")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.DefaultEvent("TextChanged")</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="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.Designer("System.Windows.Forms.Design.TextBoxBaseDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")</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.ComVisible(true)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-1.1">
<AttributeName>System.ComponentModel.Designer("System.Windows.Forms.Design.TextBoxBaseDesigner, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5">
<AttributeName>System.ComponentModel.Designer("System.Windows.Forms.Design.TextBoxBaseDesigner, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")</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>Implements the basic functionality required by text controls.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This class implements the core features of text manipulation controls, such as <xref:System.Windows.Forms.TextBox> and <xref:System.Windows.Forms.RichTextBox>. These include text selection, **Clipboard** functionality, multiline text control support, and many events.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class, to create a multiline <xref:System.Windows.Forms.TextBox> control with vertical scroll bars. This example also uses the <xref:System.Windows.Forms.TextBoxBase.AcceptsTab%2A>, <xref:System.Windows.Forms.TextBox.AcceptsReturn%2A>, and <xref:System.Windows.Forms.TextBoxBase.WordWrap%2A> properties to make the multiline text box control useful for creating text documents.
[!code-cpp[Classic TextBoxBase.AcceptsTab Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.AcceptsTab Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.AcceptsTab Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.AcceptsTab Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.AcceptsTab Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.AcceptsTab Example/VB/source.vb#1)]
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>You do not typically inherit from <see cref="T:System.Windows.Forms.TextBoxBase" />. To create your own text control class, inherit from <see cref="T:System.Windows.Forms.TextBox" /> or <see cref="T:System.Windows.Forms.RichTextBox" />.</para>
</block>
<altmember cref="T:System.Windows.Forms.TextBox" />
<altmember cref="T:System.Windows.Forms.RichTextBox" />
</Docs>
<Members>
<Member MemberName="AcceptsTab">
<MemberSignature Language="C#" Value="public bool AcceptsTab { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool AcceptsTab" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.AcceptsTab" />
<MemberSignature Language="VB.NET" Value="Public Property AcceptsTab As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property bool AcceptsTab { bool get(); void set(bool value); };" />
<MemberSignature Language="F#" Value="member this.AcceptsTab : bool with get, set" Usage="System.Windows.Forms.TextBoxBase.AcceptsTab" />
<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.DefaultValue(false)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets a value indicating whether pressing the TAB key in a multiline text box control types a TAB character in the control instead of moving the focus to the next control in the tab order.</summary>
<value>
<see langword="true" /> if users can enter tabs in a multiline text box using the TAB key; <see langword="false" /> if pressing the TAB key moves the focus. The default is <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TextBoxBase.Multiline%2A> property must also be `true` to get a TAB character in the control.
If the <xref:System.Windows.Forms.TextBoxBase.AcceptsTab%2A> property is set to `true`, the user must press CTRL+TAB to move the focus to the next control in the tab order.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class, to create a multiline <xref:System.Windows.Forms.TextBox> control with vertical scroll bars. This example also uses the <xref:System.Windows.Forms.TextBoxBase.AcceptsTab%2A>, <xref:System.Windows.Forms.TextBox.AcceptsReturn%2A>, and <xref:System.Windows.Forms.TextBoxBase.WordWrap%2A> properties to make the multiline text box control useful for creating text documents.
[!code-cpp[Classic TextBoxBase.AcceptsTab Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.AcceptsTab Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.AcceptsTab Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.AcceptsTab Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.AcceptsTab Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.AcceptsTab Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBox.AcceptsReturn" />
</Docs>
</Member>
<Member MemberName="AcceptsTabChanged">
<MemberSignature Language="C#" Value="public event EventHandler AcceptsTabChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler AcceptsTabChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.AcceptsTabChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event AcceptsTabChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ AcceptsTabChanged;" />
<MemberSignature Language="F#" Value="member this.AcceptsTabChanged : EventHandler " Usage="member this.AcceptsTabChanged : System.EventHandler " />
<MemberType>Event</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.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the value of the <see cref="P:System.Windows.Forms.TextBoxBase.AcceptsTab" /> property has changed.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
For more information about how to handle events, see [Handling and Raising Events](~/docs/standard/events/index.md).
## Examples
The following code example demonstrates the use of this member. In the example, an event handler reports on the occurrence of the <xref:System.Windows.Forms.TextBoxBase.AcceptsTabChanged> event. This report helps you to learn when the event occurs and can assist you in debugging. To report on multiple events or on events that occur frequently, consider replacing <xref:System.Windows.Forms.MessageBox.Show%2A?displayProperty=nameWithType> with <xref:System.Console.WriteLine%2A?displayProperty=nameWithType> or appending the message to a multiline <xref:System.Windows.Forms.TextBox>.
To run the example code, paste it into a project that contains an instance of a type that inherits from <xref:System.Windows.Forms.TextBoxBase>, such as a <xref:System.Windows.Forms.TextBox> or <xref:System.Windows.Forms.TextBoxBase>. Then name the instance `TextBoxBase1` and ensure that the event handler is associated with the <xref:System.Windows.Forms.TextBoxBase.AcceptsTabChanged> event.
[!code-csharp[System.Windows.Forms.EventExamples#241](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/CS/EventExamples.cs#241)]
[!code-vb[System.Windows.Forms.EventExamples#241](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/VB/EventExamples.vb#241)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.AcceptsTab" />
</Docs>
</Member>
<Member MemberName="AppendText">
<MemberSignature Language="C#" Value="public void AppendText (string text);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AppendText(string text) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.AppendText(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Sub AppendText (text As String)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void AppendText(System::String ^ text);" />
<MemberSignature Language="F#" Value="member this.AppendText : string -&gt; unit" Usage="textBoxBase.AppendText text" />
<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="text" Type="System.String" />
</Parameters>
<Docs>
<param name="text">The text to append to the current contents of the text box.</param>
<summary>Appends text to the current text of a text box.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use this method to add text to the existing text in the control instead of using the concatenation operator (+) to concatenate text to the <xref:System.Windows.Forms.TextBoxBase.Text%2A> property.
## Examples
The following code example demonstrates how to use the <xref:System.Windows.Forms.TextBoxBase.AppendText%2A> method and the <xref:System.Windows.Forms.TextBoxBase.TextLength%2A> property to copy text from one <xref:System.Windows.Forms.TextBox> to another. This example requires that two <xref:System.Windows.Forms.TextBox> controls named, `textBox1` and `textBox2`, have been added to a form and that `textBox1` has text assigned to its <xref:System.Windows.Forms.Control.Text%2A> property.
[!code-cpp[TextBoxBase.AppendText#1](~/samples/snippets/cpp/VS_Snippets_Winforms/TextBoxBase.AppendText/CPP/form1.cpp#1)]
[!code-csharp[TextBoxBase.AppendText#1](~/samples/snippets/csharp/VS_Snippets_Winforms/TextBoxBase.AppendText/CS/form1.cs#1)]
[!code-vb[TextBoxBase.AppendText#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/TextBoxBase.AppendText/VB/form1.vb#1)]
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TextBoxBase.Copy" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Paste" />
</Docs>
</Member>
<Member MemberName="AutoSize">
<MemberSignature Language="C#" Value="public override bool AutoSize { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool AutoSize" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.AutoSize" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property AutoSize As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool AutoSize { bool get(); void set(bool value); };" />
<MemberSignature Language="F#" Value="member this.AutoSize : bool with get, set" Usage="System.Windows.Forms.TextBoxBase.AutoSize" />
<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 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>
<AttributeName>System.ComponentModel.DefaultValue(true)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.Localizable(true)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.Repaint)</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>
<Docs>
<summary>Gets or sets a value indicating whether the height of the control automatically adjusts when the font assigned to the control is changed.</summary>
<value>
<see langword="true" /> if the height of the control automatically adjusts when the font is changed; otherwise, <see langword="false" />. The default is <see langword="true" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
When you set the <xref:System.Windows.Forms.TextBoxBase.AutoSize%2A> property to `true` for a <xref:System.Windows.Forms.TextBox>, when the <xref:System.Windows.Forms.Control.Font%2A> changes, the <xref:System.Windows.Forms.TextBox> expands or contracts the <xref:System.Windows.Forms.Control.Height%2A> to accommodate the larger or smaller text. The <xref:System.Windows.Forms.Control.Width%2A> of the <xref:System.Windows.Forms.TextBox> does not change.
If you want to change the size of the control as the user enters text, you can use a <xref:System.Windows.Forms.RichTextBox> control and use its <xref:System.Windows.Forms.RichTextBox.ContentsResized> event to change its size.
## Examples
This example assumes that you have a form with two text boxes, two buttons, and click events for each of the buttons. The example demonstrates the <xref:System.Windows.Forms.TextBoxBase.AutoSize%2A> property by setting it to `true` for one text box and `false` for the other. When you click one button the text boxes are filled with a smaller text, and when you click the other button the text boxes are filled with larger text. The text box that has <xref:System.Windows.Forms.TextBoxBase.AutoSize%2A> set to `true` expands in height to accommodate the larger text. The width does not change.
[!code-csharp[SystemWindowsFormsAutoSize#1](~/samples/snippets/csharp/VS_Snippets_Winforms/SystemWindowsFormsAutoSize/CS/Form1.cs#1)]
[!code-vb[SystemWindowsFormsAutoSize#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/SystemWindowsFormsAutoSize/VB/Form1.vb#1)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="AutoSizeChanged">
<MemberSignature Language="C#" Value="public event EventHandler AutoSizeChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler AutoSizeChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.AutoSizeChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event AutoSizeChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ AutoSizeChanged;" />
<MemberSignature Language="F#" Value="member this.AutoSizeChanged : EventHandler " Usage="member this.AutoSizeChanged : System.EventHandler " />
<MemberType>Event</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-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>This event is not relevant for this class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This event is not relevant for this class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="BackColor">
<MemberSignature Language="C#" Value="public override System.Drawing.Color BackColor { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Drawing.Color BackColor" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.BackColor" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property BackColor As Color" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::Drawing::Color BackColor { System::Drawing::Color get(); void set(System::Drawing::Color value); };" />
<MemberSignature Language="F#" Value="member this.BackColor : System.Drawing.Color with get, set" Usage="System.Windows.Forms.TextBoxBase.BackColor" />
<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.Runtime.InteropServices.DispId(-501)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Drawing.Color</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the background color of the control.</summary>
<value>A <see cref="T:System.Drawing.Color" /> that represents the background of the control.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use the <xref:System.Windows.Forms.TextBoxBase.BackColor%2A> property to change the background color of the text control to blend into the color scheme of your forms.
To change the color of the text within the control, use the <xref:System.Windows.Forms.TextBoxBase.ForeColor%2A> property. When setting the <xref:System.Windows.Forms.TextBoxBase.BackColor%2A> property of your text control, ensure that the color you choose does not cause the text of the control to disappear. For example, if the <xref:System.Windows.Forms.TextBoxBase.BackColor%2A> and <xref:System.Windows.Forms.TextBoxBase.ForeColor%2A> properties are both set to `Color.Black`, the text within your textbox control will not be visible.
This property might be over ridden if the <xref:System.Windows.Forms.TextBoxBase.ReadOnly%2A> property of the <xref:System.Windows.Forms.TextBoxBase> is set to `true`.
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.ForeColor" />
</Docs>
</Member>
<Member MemberName="BackgroundImage">
<MemberSignature Language="C#" Value="public override System.Drawing.Image BackgroundImage { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Drawing.Image BackgroundImage" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.BackgroundImage" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property BackgroundImage As Image" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::Drawing::Image ^ BackgroundImage { System::Drawing::Image ^ get(); void set(System::Drawing::Image ^ value); };" />
<MemberSignature Language="F#" Value="member this.BackgroundImage : System.Drawing.Image with get, set" Usage="System.Windows.Forms.TextBoxBase.BackgroundImage" />
<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.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Drawing.Image</ReturnType>
</ReturnValue>
<Docs>
<summary>This property is not relevant for this class.</summary>
<value>The background image for the object.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This property is not relevant for this class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="BackgroundImageChanged">
<MemberSignature Language="C#" Value="public event EventHandler BackgroundImageChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler BackgroundImageChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.BackgroundImageChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event BackgroundImageChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ BackgroundImageChanged;" />
<MemberSignature Language="F#" Value="member this.BackgroundImageChanged : EventHandler " Usage="member this.BackgroundImageChanged : System.EventHandler " />
<MemberType>Event</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.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the value of the <see cref="P:System.Windows.Forms.TextBoxBase.BackgroundImage" /> property changes. This event is not relevant for this class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This event is not relevant for this class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="BackgroundImageLayout">
<MemberSignature Language="C#" Value="public override System.Windows.Forms.ImageLayout BackgroundImageLayout { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Windows.Forms.ImageLayout BackgroundImageLayout" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.BackgroundImageLayout" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property BackgroundImageLayout As ImageLayout" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::Windows::Forms::ImageLayout BackgroundImageLayout { System::Windows::Forms::ImageLayout get(); void set(System::Windows::Forms::ImageLayout value); };" />
<MemberSignature Language="F#" Value="member this.BackgroundImageLayout : System.Windows.Forms.ImageLayout with get, set" Usage="System.Windows.Forms.TextBoxBase.BackgroundImageLayout" />
<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.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Windows.Forms.ImageLayout</ReturnType>
</ReturnValue>
<Docs>
<summary>This property is not relevant for this class.</summary>
<value>One of the <see cref="T:System.Windows.Forms.ImageLayout" /> values.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This property is not relevant for this class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="BackgroundImageLayoutChanged">
<MemberSignature Language="C#" Value="public event EventHandler BackgroundImageLayoutChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler BackgroundImageLayoutChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.BackgroundImageLayoutChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event BackgroundImageLayoutChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ BackgroundImageLayoutChanged;" />
<MemberSignature Language="F#" Value="member this.BackgroundImageLayoutChanged : EventHandler " Usage="member this.BackgroundImageLayoutChanged : 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 value of the <see cref="P:System.Windows.Forms.TextBoxBase.BackgroundImageLayout" /> property changes. This event is not relevant for this class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This event is not relevant for this class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="BorderStyle">
<MemberSignature Language="C#" Value="public System.Windows.Forms.BorderStyle BorderStyle { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Windows.Forms.BorderStyle BorderStyle" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.BorderStyle" />
<MemberSignature Language="VB.NET" Value="Public Property BorderStyle As BorderStyle" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::Windows::Forms::BorderStyle BorderStyle { System::Windows::Forms::BorderStyle get(); void set(System::Windows::Forms::BorderStyle value); };" />
<MemberSignature Language="F#" Value="member this.BorderStyle : System.Windows.Forms.BorderStyle with get, set" Usage="System.Windows.Forms.TextBoxBase.BorderStyle" />
<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.DefaultValue(Mono.Cecil.CustomAttributeArgument)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Runtime.InteropServices.DispId(-504)</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.BorderStyle</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the border type of the text box control.</summary>
<value>A <see cref="T:System.Windows.Forms.BorderStyle" /> that represents the border type of the text box control. The default is <see langword="Fixed3D" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use the <xref:System.Windows.Forms.TextBoxBase.BorderStyle%2A> property to create borderless and flat style controls, in addition to the default three-dimensional control.
> [!NOTE]
> The derived class, <xref:System.Windows.Forms.RichTextBox>, does not support the `BorderStyle.FixedSingle` style. This style will cause the <xref:System.Windows.Forms.BorderStyle> to use the `BorderStyle.Fixed3D` style instead.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class, to create a text box that can properly display text using 20-point Arial with a single border. This example uses the <xref:System.Windows.Forms.TextBoxBase.PreferredHeight%2A> property to determine the appropriate height of the control after the font and <xref:System.Windows.Forms.TextBoxBase.BorderStyle%2A> have been assigned to the control.
[!code-cpp[Classic TextBoxBase.BorderStyle Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.BorderStyle Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.BorderStyle Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.BorderStyle Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.BorderStyle Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.BorderStyle Example/VB/source.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ComponentModel.InvalidEnumArgumentException">A value that is not within the range of valid values for the enumeration was assigned to the property.</exception>
</Docs>
</Member>
<Member MemberName="BorderStyleChanged">
<MemberSignature Language="C#" Value="public event EventHandler BorderStyleChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler BorderStyleChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.BorderStyleChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event BorderStyleChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ BorderStyleChanged;" />
<MemberSignature Language="F#" Value="member this.BorderStyleChanged : EventHandler " Usage="member this.BorderStyleChanged : System.EventHandler " />
<MemberType>Event</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.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the value of the <see cref="P:System.Windows.Forms.TextBoxBase.BorderStyle" /> property has changed.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
For more information about how to handle events, see [Handling and Raising Events](~/docs/standard/events/index.md).
## Examples
The following code example demonstrates the use of this member. In the example, an event handler reports on the occurrence of the <xref:System.Windows.Forms.TextBoxBase.BorderStyleChanged> event. This report helps you to learn when the event occurs and can assist you in debugging. To report on multiple events or on events that occur frequently, consider replacing <xref:System.Windows.Forms.MessageBox.Show%2A?displayProperty=nameWithType> with <xref:System.Console.WriteLine%2A?displayProperty=nameWithType> or appending the message to a multiline <xref:System.Windows.Forms.TextBox>.
To run the example code, paste it into a project that contains an instance of a type that inherits from <xref:System.Windows.Forms.TextBoxBase>, such as a <xref:System.Windows.Forms.TextBox> or <xref:System.Windows.Forms.TextBoxBase>. Then name the instance `TextBoxBase1` and ensure that the event handler is associated with the <xref:System.Windows.Forms.TextBoxBase.BorderStyleChanged> event.
[!code-csharp[System.Windows.Forms.EventExamples#242](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/CS/EventExamples.cs#242)]
[!code-vb[System.Windows.Forms.EventExamples#242](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/VB/EventExamples.vb#242)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.BorderStyle" />
</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.TextBoxBase.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.TextBoxBase.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" /> if the <see cref="P:System.Windows.Forms.TextBoxBase.ReadOnly" /> property is <see langword="true" /> or if this <see cref="T:System.Windows.Forms.TextBoxBase" /> class is set to use a password mask character; otherwise, <see langword="true" />.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CanUndo">
<MemberSignature Language="C#" Value="public bool CanUndo { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanUndo" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.CanUndo" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property CanUndo As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property bool CanUndo { bool get(); };" />
<MemberSignature Language="F#" Value="member this.CanUndo : bool" Usage="System.Windows.Forms.TextBoxBase.CanUndo" />
<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.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the user can undo the previous operation in a text box control.</summary>
<value>
<see langword="true" /> if the user can undo the previous operation performed in a text box control; otherwise, <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If this method returns `true`, you can call the <xref:System.Windows.Forms.TextBoxBase.Undo%2A> method to undo the last operation in a text box. You can use this method in the <xref:System.Windows.Forms.MenuItem.Popup> event of a <xref:System.Windows.Forms.MenuItem>, or in code that manages the state of buttons on a <xref:System.Windows.Forms.ToolBar> to enable or disable the ability to undo the previous operation in a text box control.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class. It provides <xref:System.Windows.Forms.MenuItem.Click> event handlers for <xref:System.Windows.Forms.MenuItem> objects that perform Cut, Copy, Paste, and Undo operations. This example requires that a <xref:System.Windows.Forms.TextBox> control named `textBox1` has been created.
[!code-cpp[Classic TextBoxBase.CanUndo Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.CanUndo Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.CanUndo Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.CanUndo Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.CanUndo Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.CanUndo Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TextBoxBase.Cut" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Copy" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Paste" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Undo" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Clear" />
</Docs>
</Member>
<Member MemberName="Clear">
<MemberSignature Language="C#" Value="public void Clear ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Clear() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.Clear" />
<MemberSignature Language="VB.NET" Value="Public Sub Clear ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void Clear();" />
<MemberSignature Language="F#" Value="member this.Clear : unit -&gt; unit" Usage="textBoxBase.Clear " />
<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>Clears all text from the text box control.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use this method to clear the contents of the control instead of assigning the <xref:System.Windows.Forms.TextBoxBase.Text%2A> property an empty string.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class, to create an event handler for the <xref:System.Windows.Forms.Control.TextChanged> event. The code within the event handler restricts data to numbers. After text has been entered in the control, the code determines if the text entered is a number. If the text is not a number, the code clears the text from the control and a <xref:System.Windows.Forms.MessageBox> is displayed to alert the user that only numbers are accepted. The example requires that a `Boolean` variable named `flag` and a <xref:System.Windows.Forms.TextBox> control called `textBox1` are defined outside of this method. This example demonstrates how to use a flag variable to avoid a cascading event in the <xref:System.Windows.Forms.Control.TextChanged> event.
[!code-cpp[Classic TextBoxBase.Clear Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.Clear Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.Clear Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.Clear Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.Clear Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.Clear Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TextBoxBase.Cut" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Copy" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Paste" />
<altmember cref="P:System.Windows.Forms.TextBoxBase.CanUndo" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.ClearUndo" />
</Docs>
</Member>
<Member MemberName="ClearUndo">
<MemberSignature Language="C#" Value="public void ClearUndo ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ClearUndo() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.ClearUndo" />
<MemberSignature Language="VB.NET" Value="Public Sub ClearUndo ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void ClearUndo();" />
<MemberSignature Language="F#" Value="member this.ClearUndo : unit -&gt; unit" Usage="textBoxBase.ClearUndo " />
<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>Clears information about the most recent operation from the undo buffer of the text box.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use this method to prevent an undo operation from repeating, based on the state of your application.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class. It provides <xref:System.Windows.Forms.MenuItem.Click> event handlers for <xref:System.Windows.Forms.MenuItem> objects that perform Cut, Copy, Paste, and Undo operations. This example requires that a <xref:System.Windows.Forms.TextBox> control named `textBox1` has been created.
[!code-cpp[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TextBoxBase.Cut" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Copy" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Paste" />
<altmember cref="P:System.Windows.Forms.TextBoxBase.CanUndo" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Clear" />
</Docs>
</Member>
<Member MemberName="Click">
<MemberSignature Language="C#" Value="public event EventHandler Click;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler Click" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.Click" />
<MemberSignature Language="VB.NET" Value="Public Custom Event Click As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ Click;" />
<MemberSignature Language="F#" Value="member this.Click : EventHandler " Usage="member this.Click : System.EventHandler " />
<MemberType>Event</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-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(true)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-1.1">
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-1.1">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</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.Always)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the text box is clicked.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
For more information about how to handle events, see [Handling and Raising Events](~/docs/standard/events/index.md).
## Examples
The following code example demonstrates how to handle the <xref:System.Windows.Forms.TextBoxBase.Click> event. To run the example, paste the following code in a form containing a <xref:System.Windows.Forms.TextBox> control called TextBox1. This example requires that the event-handling method has been associated with the <xref:System.Windows.Forms.TextBoxBase.Click> event.
[!code-cpp[System.Windows.Forms.TextBoxBaseScrolling#2](~/samples/snippets/cpp/VS_Snippets_Winforms/System.Windows.Forms.TextBoxBaseScrolling/CPP/form1.cpp#2)]
[!code-csharp[System.Windows.Forms.TextBoxBaseScrolling#2](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.TextBoxBaseScrolling/CS/form1.cs#2)]
[!code-vb[System.Windows.Forms.TextBoxBaseScrolling#2](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.TextBoxBaseScrolling/VB/form1.vb#2)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Copy">
<MemberSignature Language="C#" Value="public void Copy ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Copy() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.Copy" />
<MemberSignature Language="VB.NET" Value="Public Sub Copy ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void Copy();" />
<MemberSignature Language="F#" Value="member this.Copy : unit -&gt; unit" Usage="textBoxBase.Copy " />
<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>Copies the current selection in the text box to the **Clipboard**.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use this method, instead of using the <xref:System.Windows.Forms.Clipboard> class, to copy text in the text box and place it in the **Clipboard**.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class. It provides <xref:System.Windows.Forms.MenuItem.Click> event handlers for <xref:System.Windows.Forms.MenuItem> objects that perform Cut, Copy, Paste, and Undo operations. This example requires that a <xref:System.Windows.Forms.TextBox> control named `textBox1` has been created.
[!code-cpp[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TextBoxBase.Cut" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Undo" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Paste" />
<altmember cref="P:System.Windows.Forms.TextBoxBase.CanUndo" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Clear" />
</Docs>
</Member>
<Member MemberName="CreateHandle">
<MemberSignature Language="C#" Value="protected override void CreateHandle ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void CreateHandle() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.CreateHandle" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub CreateHandle ()" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void CreateHandle();" />
<MemberSignature Language="F#" Value="override this.CreateHandle : unit -&gt; unit" Usage="textBoxBase.CreateHandle " />
<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>Creates a handle for the control.</summary>
<remarks>To be added.</remarks>
<permission cref="T:System.Security.Permissions.SecurityPermission">for operating with unmanaged code. Associated enumeration: <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode" /></permission>
</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.TextBoxBase.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.TextBoxBase.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>
<altmember cref="T:System.Windows.Forms.CreateParams" />
<altmember cref="P:System.Windows.Forms.Control.CreateParams" />
</Docs>
</Member>
<Member MemberName="Cut">
<MemberSignature Language="C#" Value="public void Cut ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Cut() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.Cut" />
<MemberSignature Language="VB.NET" Value="Public Sub Cut ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void Cut();" />
<MemberSignature Language="F#" Value="member this.Cut : unit -&gt; unit" Usage="textBoxBase.Cut " />
<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>Moves the current selection in the text box to the **Clipboard**.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method will only cut text from the text box if text is selected in the control. You can use this method, instead of using the <xref:System.Windows.Forms.Clipboard> class, to copy text in the text box and move it to the **Clipboard**.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class. It provides <xref:System.Windows.Forms.MenuItem.Click> event handlers for <xref:System.Windows.Forms.MenuItem> objects that perform Cut, Copy, Paste, and Undo operations. This example requires that a <xref:System.Windows.Forms.TextBox> control named `textBox1` has been created.
[!code-cpp[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TextBoxBase.Undo" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Copy" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Paste" />
<altmember cref="P:System.Windows.Forms.TextBoxBase.CanUndo" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.Clear" />
</Docs>
</Member>
<Member MemberName="DefaultCursor">
<MemberSignature Language="C#" Value="protected override System.Windows.Forms.Cursor DefaultCursor { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Windows.Forms.Cursor DefaultCursor" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.DefaultCursor" />
<MemberSignature Language="VB.NET" Value="Protected Overrides ReadOnly Property DefaultCursor As Cursor" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual property System::Windows::Forms::Cursor ^ DefaultCursor { System::Windows::Forms::Cursor ^ get(); };" />
<MemberSignature Language="F#" Value="member this.DefaultCursor : System.Windows.Forms.Cursor" Usage="System.Windows.Forms.TextBoxBase.DefaultCursor" />
<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.Windows.Forms.Cursor</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the default cursor for the control.</summary>
<value>An object of type <see cref="T:System.Windows.Forms.Cursor" /> representing the current default cursor.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Override <xref:System.Windows.Forms.TextBoxBase.DefaultCursor%2A> to configure a default cursor for your control. This is more efficient than setting the cursor in the control's constructor, and gives automatic support for certain cursor-related designer functions.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="DefaultSize">
<MemberSignature Language="C#" Value="protected override System.Drawing.Size DefaultSize { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Drawing.Size DefaultSize" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.DefaultSize" />
<MemberSignature Language="VB.NET" Value="Protected Overrides ReadOnly Property DefaultSize As Size" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual property System::Drawing::Size DefaultSize { System::Drawing::Size get(); };" />
<MemberSignature Language="F#" Value="member this.DefaultSize : System.Drawing.Size" Usage="System.Windows.Forms.TextBoxBase.DefaultSize" />
<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.Drawing.Size</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the default size of the control.</summary>
<value>The default <see cref="T:System.Drawing.Size" /> of the control.</value>
<remarks>To be added.</remarks>
<altmember cref="P:System.Windows.Forms.Control.DefaultSize" />
</Docs>
</Member>
<Member MemberName="DeselectAll">
<MemberSignature Language="C#" Value="public void DeselectAll ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DeselectAll() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.DeselectAll" />
<MemberSignature Language="VB.NET" Value="Public Sub DeselectAll ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void DeselectAll();" />
<MemberSignature Language="F#" Value="member this.DeselectAll : unit -&gt; unit" Usage="textBoxBase.DeselectAll " />
<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>Specifies that the value of the <see cref="P:System.Windows.Forms.TextBoxBase.SelectionLength" /> property is zero so that no characters are selected in the control.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="DoubleBuffered">
<MemberSignature Language="C#" Value="protected override bool DoubleBuffered { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool DoubleBuffered" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.DoubleBuffered" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Property DoubleBuffered As Boolean" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual property bool DoubleBuffered { bool get(); void set(bool value); };" />
<MemberSignature Language="F#" Value="member this.DoubleBuffered : bool with get, set" Usage="System.Windows.Forms.TextBoxBase.DoubleBuffered" />
<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.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets a value indicating whether control drawing is done in a buffer before the control is displayed. This property is not relevant for this class.</summary>
<value>
<see langword="true" /> to implement double buffering on the control; otherwise, <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This property is not relevant for this class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ForeColor">
<MemberSignature Language="C#" Value="public override System.Drawing.Color ForeColor { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Drawing.Color ForeColor" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.ForeColor" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property ForeColor As Color" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::Drawing::Color ForeColor { System::Drawing::Color get(); void set(System::Drawing::Color value); };" />
<MemberSignature Language="F#" Value="member this.ForeColor : System.Drawing.Color with get, set" Usage="System.Windows.Forms.TextBoxBase.ForeColor" />
<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.Runtime.InteropServices.DispId(-513)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Drawing.Color</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the foreground color of the control.</summary>
<value>A <see cref="T:System.Drawing.Color" /> that represents the control's foreground color.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use the <xref:System.Windows.Forms.TextBoxBase.ForeColor%2A> property to change the color of the text within the control to match the text of other controls on your form. You can also use this property to highlight a specific text box that contains an invalid value.
To change the background color of the control, use the <xref:System.Windows.Forms.TextBoxBase.BackColor%2A> property. When setting the <xref:System.Windows.Forms.TextBoxBase.ForeColor%2A> property of your text control, ensure that the color you choose does not cause the text of the control to disappear. For example, if the <xref:System.Windows.Forms.TextBoxBase.ForeColor%2A> and <xref:System.Windows.Forms.TextBoxBase.BackColor%2A> properties are both set to `Color.Black`, the text within your textbox control will not be visible.
This property might be over ridden if the <xref:System.Windows.Forms.TextBoxBase.ReadOnly%2A> property of the <xref:System.Windows.Forms.TextBoxBase> is set to `true`.
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.BackColor" />
</Docs>
</Member>
<Member MemberName="GetCharFromPosition">
<MemberSignature Language="C#" Value="public virtual char GetCharFromPosition (System.Drawing.Point pt);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance char GetCharFromPosition(valuetype System.Drawing.Point pt) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.GetCharFromPosition(System.Drawing.Point)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetCharFromPosition (pt As Point) As Char" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual char GetCharFromPosition(System::Drawing::Point pt);" />
<MemberSignature Language="F#" Value="abstract member GetCharFromPosition : System.Drawing.Point -&gt; char&#xA;override this.GetCharFromPosition : System.Drawing.Point -&gt; char" Usage="textBoxBase.GetCharFromPosition pt" />
<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.Char</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="pt" Type="System.Drawing.Point" 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="pt">The location from which to seek the nearest character.</param>
<summary>Retrieves the character that is closest to the specified location within the control.</summary>
<returns>The character at the specified location.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If the location specified in the `pt` parameter is outside the client area of the control, the first character of the string closest to the point specified in `pt` is returned. You can use this method to determine which characters are located near a specific point within the control. You can then use this value to perform operations on the text at that location.
> [!NOTE]
> If the specified location in the `pt` parameter is located on the right side of the client area of the control, the last character of the string closest to the point specified in `pt` is returned.
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetCharIndexFromPosition(System.Drawing.Point)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetLineFromCharIndex(System.Int32)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetPositionFromCharIndex(System.Int32)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetFirstCharIndexFromLine(System.Int32)" />
</Docs>
</Member>
<Member MemberName="GetCharIndexFromPosition">
<MemberSignature Language="C#" Value="public virtual int GetCharIndexFromPosition (System.Drawing.Point pt);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 GetCharIndexFromPosition(valuetype System.Drawing.Point pt) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.GetCharIndexFromPosition(System.Drawing.Point)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetCharIndexFromPosition (pt As Point) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual int GetCharIndexFromPosition(System::Drawing::Point pt);" />
<MemberSignature Language="F#" Value="abstract member GetCharIndexFromPosition : System.Drawing.Point -&gt; int&#xA;override this.GetCharIndexFromPosition : System.Drawing.Point -&gt; int" Usage="textBoxBase.GetCharIndexFromPosition pt" />
<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.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="pt" Type="System.Drawing.Point" 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="pt">The location to search.</param>
<summary>Retrieves the index of the character nearest to the specified location.</summary>
<returns>The zero-based character index at the specified location.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method returns the character index that is closest to the position specified in the `pt` parameter. The character index is a zero-based index of text in the control, including spaces. You can use this method to determine where in the text the user has the mouse over by passing the mouse coordinates to this method. This can be useful if you want to perform tasks when the user rests the mouse pointer over a word in the text of the control.
> [!IMPORTANT]
> If the specified location is not within the client rectangle of the control, or is beyond the last character in the control, the return value is the index of the last character.
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetCharFromPosition(System.Drawing.Point)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetLineFromCharIndex(System.Int32)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetPositionFromCharIndex(System.Int32)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetFirstCharIndexFromLine(System.Int32)" />
</Docs>
</Member>
<Member MemberName="GetFirstCharIndexFromLine">
<MemberSignature Language="C#" Value="public int GetFirstCharIndexFromLine (int lineNumber);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 GetFirstCharIndexFromLine(int32 lineNumber) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.GetFirstCharIndexFromLine(System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Function GetFirstCharIndexFromLine (lineNumber As Integer) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; int GetFirstCharIndexFromLine(int lineNumber);" />
<MemberSignature Language="F#" Value="member this.GetFirstCharIndexFromLine : int -&gt; int" Usage="textBoxBase.GetFirstCharIndexFromLine lineNumber" />
<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.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="lineNumber" Type="System.Int32" 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="lineNumber">The line for which to get the index of its first character.</param>
<summary>Retrieves the index of the first character of a given line.</summary>
<returns>The zero-based index of the first character in the specified line.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Line numbering in the text box starts at zero. If the `lineNumber` parameter is greater than the last line in the text box, <xref:System.Windows.Forms.TextBoxBase.GetFirstCharIndexFromLine%2A> returns -1.
<xref:System.Windows.Forms.TextBoxBase.GetFirstCharIndexFromLine%2A> returns the first character index of a physical line. The physical line is the displayed line, not the assigned line. The number of displayed lines can be greater than the number of assigned lines due to word wrap. For example, if you assign two long lines to a <xref:System.Windows.Forms.RichTextBox> control and set <xref:System.Windows.Forms.TextBoxBase.Multiline%2A> and <xref:System.Windows.Forms.TextBoxBase.WordWrap%2A> to `true`, the two long assigned lines result in four physical (or displayed lines).
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">The value of the <paramref name="lineNumber" /> parameter is less than zero.</exception>
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetCharIndexFromPosition(System.Drawing.Point)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetLineFromCharIndex(System.Int32)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetPositionFromCharIndex(System.Int32)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetCharFromPosition(System.Drawing.Point)" />
</Docs>
</Member>
<Member MemberName="GetFirstCharIndexOfCurrentLine">
<MemberSignature Language="C#" Value="public int GetFirstCharIndexOfCurrentLine ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 GetFirstCharIndexOfCurrentLine() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.GetFirstCharIndexOfCurrentLine" />
<MemberSignature Language="VB.NET" Value="Public Function GetFirstCharIndexOfCurrentLine () As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; int GetFirstCharIndexOfCurrentLine();" />
<MemberSignature Language="F#" Value="member this.GetFirstCharIndexOfCurrentLine : unit -&gt; int" Usage="textBoxBase.GetFirstCharIndexOfCurrentLine " />
<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.Int32</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Retrieves the index of the first character of the current line.</summary>
<returns>The zero-based character index in the current line.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetLineFromCharIndex">
<MemberSignature Language="C#" Value="public virtual int GetLineFromCharIndex (int index);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 GetLineFromCharIndex(int32 index) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.GetLineFromCharIndex(System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetLineFromCharIndex (index As Integer) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual int GetLineFromCharIndex(int index);" />
<MemberSignature Language="F#" Value="abstract member GetLineFromCharIndex : int -&gt; int&#xA;override this.GetLineFromCharIndex : int -&gt; int" Usage="textBoxBase.GetLineFromCharIndex index" />
<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.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="index" Type="System.Int32" 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="index">The character index position to search.</param>
<summary>Retrieves the line number from the specified character position within the text of the control.</summary>
<returns>The zero-based line number in which the character index is located.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method enables you to determine the line number based on the character index specified in the `index` parameter of the method. The first line of text in the control returns the value zero. The <xref:System.Windows.Forms.TextBoxBase.GetLineFromCharIndex%2A> method returns the physical line number where the indexed character is located within the control. For example, if a portion of the first logical line of text in the control wraps to the next line, the <xref:System.Windows.Forms.TextBoxBase.GetLineFromCharIndex%2A> method returns 1 if the character at the specified character index has wrapped to the second physical line. If <xref:System.Windows.Forms.TextBoxBase.WordWrap%2A> is set to `false`, no portion of the line wraps to the next, and the method returns 0 for the specified character index. You can use this method to determine which line a specific character index is located within. For example, after calling the <xref:System.Windows.Forms.RichTextBox.Find%2A> method to search for text, you can obtain the character index to where the search results are found. You can call this method with the character index returned by the <xref:System.Windows.Forms.RichTextBox.Find%2A> method to determine which line the word was found.
> [!NOTE]
> If the character index specified in the `index` parameter is beyond the available number of lines contained within the control, the last line number is returned.
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetCharIndexFromPosition(System.Drawing.Point)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetCharFromPosition(System.Drawing.Point)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetPositionFromCharIndex(System.Int32)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetFirstCharIndexFromLine(System.Int32)" />
</Docs>
</Member>
<Member MemberName="GetPositionFromCharIndex">
<MemberSignature Language="C#" Value="public virtual System.Drawing.Point GetPositionFromCharIndex (int index);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype System.Drawing.Point GetPositionFromCharIndex(int32 index) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.GetPositionFromCharIndex(System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetPositionFromCharIndex (index As Integer) As Point" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual System::Drawing::Point GetPositionFromCharIndex(int index);" />
<MemberSignature Language="F#" Value="abstract member GetPositionFromCharIndex : int -&gt; System.Drawing.Point&#xA;override this.GetPositionFromCharIndex : int -&gt; System.Drawing.Point" Usage="textBoxBase.GetPositionFromCharIndex index" />
<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.Drawing.Point</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="index" Type="System.Int32" 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="index">The index of the character for which to retrieve the location.</param>
<summary>Retrieves the location within the control at the specified character index.</summary>
<returns>The location of the specified character within the client rectangle of the control.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method enables you to determine where in the control a specific character index is located. You can use this method for such tasks as displaying shortcut menu items or help information for a word in the control. For example, if you wanted to display a menu of options to the user when the user right clicks on a word in the control, you can use this method to determine the position of the word to properly display a <xref:System.Windows.Forms.ContextMenu> control.
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetCharIndexFromPosition(System.Drawing.Point)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetLineFromCharIndex(System.Int32)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetCharFromPosition(System.Drawing.Point)" />
<altmember cref="M:System.Windows.Forms.TextBoxBase.GetFirstCharIndexFromLine(System.Int32)" />
</Docs>
</Member>
<Member MemberName="HideSelection">
<MemberSignature Language="C#" Value="public bool HideSelection { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool HideSelection" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.HideSelection" />
<MemberSignature Language="VB.NET" Value="Public Property HideSelection As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property bool HideSelection { bool get(); void set(bool value); };" />
<MemberSignature Language="F#" Value="member this.HideSelection : bool with get, set" Usage="System.Windows.Forms.TextBoxBase.HideSelection" />
<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.DefaultValue(true)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets a value indicating whether the selected text in the text box control remains highlighted when the control loses focus.</summary>
<value>
<see langword="true" /> if the selected text does not appear highlighted when the text box control loses focus; <see langword="false" />, if the selected text remains highlighted when the text box control loses focus. The default is <see langword="true" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use this property to keep text highlighted in a text box control while another form or a dialog box has focus, such as a spelling checker dialog box.
## Examples
The following code example demonstrates how to use the <xref:System.Windows.Forms.TextBoxBase.HideSelection%2A> property. To run the example, paste the following code in a form. Call the `InitializeTextBox` method in the form's constructor or `Load` method.
[!code-cpp[System.Windows.Forms.TextBoxBaseScrolling#3](~/samples/snippets/cpp/VS_Snippets_Winforms/System.Windows.Forms.TextBoxBaseScrolling/CPP/form1.cpp#3)]
[!code-csharp[System.Windows.Forms.TextBoxBaseScrolling#3](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.TextBoxBaseScrolling/CS/form1.cs#3)]
[!code-vb[System.Windows.Forms.TextBoxBaseScrolling#3](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.TextBoxBaseScrolling/VB/form1.vb#3)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="HideSelectionChanged">
<MemberSignature Language="C#" Value="public event EventHandler HideSelectionChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler HideSelectionChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.HideSelectionChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event HideSelectionChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ HideSelectionChanged;" />
<MemberSignature Language="F#" Value="member this.HideSelectionChanged : EventHandler " Usage="member this.HideSelectionChanged : System.EventHandler " />
<MemberType>Event</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.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the value of the <see cref="P:System.Windows.Forms.TextBoxBase.HideSelection" /> property has changed.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
For more information about how to handle events, see [Handling and Raising Events](~/docs/standard/events/index.md).
## Examples
The following code example demonstrates the use of this member. In the example, an event handler reports on the occurrence of the <xref:System.Windows.Forms.TextBoxBase.HideSelectionChanged> event. This report helps you to learn when the event occurs and can assist you in debugging. To report on multiple events or on events that occur frequently, consider replacing <xref:System.Windows.Forms.MessageBox.Show%2A?displayProperty=nameWithType> with <xref:System.Console.WriteLine%2A?displayProperty=nameWithType> or appending the message to a multiline <xref:System.Windows.Forms.TextBox>.
To run the example code, paste it into a project that contains an instance of a type that inherits from <xref:System.Windows.Forms.TextBoxBase>, such as a <xref:System.Windows.Forms.TextBox> or <xref:System.Windows.Forms.TextBoxBase>. Then name the instance `TextBoxBase1` and ensure that the event handler is associated with the <xref:System.Windows.Forms.TextBoxBase.HideSelectionChanged> event.
[!code-csharp[System.Windows.Forms.EventExamples#245](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/CS/EventExamples.cs#245)]
[!code-vb[System.Windows.Forms.EventExamples#245](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/VB/EventExamples.vb#245)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.HideSelection" />
</Docs>
</Member>
<Member MemberName="ImeModeBase">
<MemberSignature Language="C#" Value="protected override System.Windows.Forms.ImeMode ImeModeBase { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Windows.Forms.ImeMode ImeModeBase" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.ImeModeBase" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Property ImeModeBase As ImeMode" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual property System::Windows::Forms::ImeMode ImeModeBase { System::Windows::Forms::ImeMode get(); void set(System::Windows::Forms::ImeMode value); };" />
<MemberSignature Language="F#" Value="member this.ImeModeBase : System.Windows.Forms.ImeMode with get, set" Usage="System.Windows.Forms.TextBoxBase.ImeModeBase" />
<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.Windows.Forms.ImeMode</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the Input Method Editor (IME) mode of a control.</summary>
<value>The IME mode of the control.</value>
<remarks>To be added.</remarks>
<altmember cref="P:System.Windows.Forms.Control.ImeMode" />
</Docs>
</Member>
<Member MemberName="IsInputKey">
<MemberSignature Language="C#" Value="protected override bool IsInputKey (System.Windows.Forms.Keys keyData);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance bool IsInputKey(valuetype System.Windows.Forms.Keys keyData) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.IsInputKey(System.Windows.Forms.Keys)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Function IsInputKey (keyData As Keys) As Boolean" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override bool IsInputKey(System::Windows::Forms::Keys keyData);" />
<MemberSignature Language="F#" Value="override this.IsInputKey : System.Windows.Forms.Keys -&gt; bool" Usage="textBoxBase.IsInputKey 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 Keys value.</param>
<summary>Determines whether the specified key is an input key or a special key that requires preprocessing.</summary>
<returns>
<see langword="true" /> if the specified key is an input key; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TextBoxBase.IsInputKey%2A> method returns `true` when the `keyData` parameter includes the <xref:System.Windows.Forms.Keys.Tab> value and the <xref:System.Windows.Forms.TextBoxBase.AcceptsTab%2A> property is `true`. <xref:System.Windows.Forms.TextBoxBase.IsInputKey%2A> returns `false` if `keyData` contains both <xref:System.Windows.Forms.Keys.Tab> and <xref:System.Windows.Forms.Keys.Control>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Lines">
<MemberSignature Language="C#" Value="public string[] Lines { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string[] Lines" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.Lines" />
<MemberSignature Language="VB.NET" Value="Public Property Lines As String()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property cli::array &lt;System::String ^&gt; ^ Lines { cli::array &lt;System::String ^&gt; ^ get(); void set(cli::array &lt;System::String ^&gt; ^ value); };" />
<MemberSignature Language="F#" Value="member this.Lines : string[] with get, set" Usage="System.Windows.Forms.TextBoxBase.Lines" />
<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 FrameworkAlternate="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.Editor("System.Windows.Forms.Design.StringArrayEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))</AttributeName>
</Attribute>
<Attribute>
<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.MergableProperty(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-1.1">
<AttributeName>System.ComponentModel.Editor("System.Windows.Forms.Design.StringArrayEditor, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5">
<AttributeName>System.ComponentModel.Editor("System.Windows.Forms.Design.StringArrayEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String[]</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the lines of text in a text box control.</summary>
<value>An array of strings that contains the text in a text box control.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Each element in the array becomes a line of text in the text box control. If the <xref:System.Windows.Forms.TextBoxBase.Multiline%2A> property of the text box control is set to `true` and a newline character appears in the text, the text following the newline character is added to a new element in the array and displayed on a separate line.
> [!NOTE]
> By default, the collection of lines is a read-only copy of the lines in the <xref:System.Windows.Forms.TextBox>. To get a writable collection of lines, use code similar to the following: `textBox1.Lines = new string[] { "abcd" };`
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class, to extract all strings of text from a multiline text box control and displays them using the <xref:System.Diagnostics.Debug.WriteLine%2A?displayProperty=nameWithType> method. This example requires that a <xref:System.Windows.Forms.TextBox> control has been created, named `textBox1`, and that it has been filled with lines of text.
[!code-cpp[Classic TextBoxBase.Lines Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.Lines Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.Lines Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.Lines Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.Lines Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.Lines Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.Text" />
</Docs>
</Member>
<Member MemberName="MaxLength">
<MemberSignature Language="C#" Value="public virtual int MaxLength { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 MaxLength" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.MaxLength" />
<MemberSignature Language="VB.NET" Value="Public Overridable Property MaxLength As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property int MaxLength { int get(); void set(int value); };" />
<MemberSignature Language="F#" Value="member this.MaxLength : int with get, set" Usage="System.Windows.Forms.TextBoxBase.MaxLength" />
<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.DefaultValue(32767)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.Localizable(true)</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.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the maximum number of characters the user can type or paste into the text box control.</summary>
<value>The number of characters that can be entered into the control. The default is 32767.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use this property to restrict the length of text entered in the control for values such as postal codes and telephone numbers, or to restrict the length of text entered when the data is to be entered in a database. You can limit the text entered into the control to the maximum length of the corresponding field in the database.
> [!NOTE]
> In code, you can set the value of the <xref:System.Windows.Forms.TextBoxBase.Text%2A> property to a value that has a length greater than the value specified by the <xref:System.Windows.Forms.TextBoxBase.MaxLength%2A> property. This property only affects text entered into the control at run time.
## Examples
The following code example uses the derived class, <xref:System.Windows.Forms.TextBox>, to create a text box that is used to accept a password. This example uses the <xref:System.Windows.Forms.TextBox.CharacterCasing%2A> property to change all characters typed to uppercase and the <xref:System.Windows.Forms.TextBoxBase.MaxLength%2A> property to restrict the password length to eight characters. This example also uses the <xref:System.Windows.Forms.TextBox.TextAlign%2A> property to center the password in the <xref:System.Windows.Forms.TextBox> control.
[!code-cpp[Classic TextBoxBase.MaxLength Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.MaxLength Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.MaxLength Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.MaxLength Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.MaxLength Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.MaxLength Example/VB/source.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">The value assigned to the property is less than 0.</exception>
</Docs>
</Member>
<Member MemberName="Modified">
<MemberSignature Language="C#" Value="public bool Modified { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool Modified" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.Modified" />
<MemberSignature Language="VB.NET" Value="Public Property Modified As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property bool Modified { bool get(); void set(bool value); };" />
<MemberSignature Language="F#" Value="member this.Modified : bool with get, set" Usage="System.Windows.Forms.TextBoxBase.Modified" />
<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.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets a value that indicates that the text box control has been modified by the user since the control was created or its contents were last set.</summary>
<value>
<see langword="true" /> if the control's contents have been modified; otherwise, <see langword="false" />. The default is <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use this property to determine if the user has modified the contents of the text box control. You can also set this property in code to indicate that changes were made to the text box control by the application. This property can be used by validation and data-saving methods to determine if changes were made in a text box control so the changed contents can be validated or saved.
If you change the <xref:System.Windows.Forms.TextBoxBase.Text%2A> property programmatically, the <xref:System.Windows.Forms.TextBoxBase.Modified%2A> property reverts to `false`. This does not raise the <xref:System.Windows.Forms.TextBoxBase.ModifiedChanged> event.
## Examples
The following code example uses the <xref:System.Windows.Forms.Control.TextChanged> event for a <xref:System.Windows.Forms.TextBox>, a derived class, to determine if the contents of the <xref:System.Windows.Forms.TextBox> control have changed since the control was filled with data. The example uses a string to store the original contents of the control and compares it against the contents of the <xref:System.Windows.Forms.TextBox> to determine if the contents have changed. If the contents have changed, the <xref:System.Windows.Forms.TextBoxBase.Modified%2A> property is set to `true`. Otherwise, it is reset to `false`. This example requires that a <xref:System.Windows.Forms.TextBox> control named `textBox1` has been created and that a `String` variable named `originalText` has been created to store the original text for the <xref:System.Windows.Forms.TextBox> control.
[!code-cpp[Classic TextBoxBase.Modified Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.Modified Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.Modified Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.Modified Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.Modified Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.Modified Example/VB/source.vb#1)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ModifiedChanged">
<MemberSignature Language="C#" Value="public event EventHandler ModifiedChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler ModifiedChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.ModifiedChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event ModifiedChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ ModifiedChanged;" />
<MemberSignature Language="F#" Value="member this.ModifiedChanged : EventHandler " Usage="member this.ModifiedChanged : System.EventHandler " />
<MemberType>Event</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.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the value of the <see cref="P:System.Windows.Forms.TextBoxBase.Modified" /> property has changed.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If you change the <xref:System.Windows.Forms.TextBoxBase.Text%2A> property programmatically, the <xref:System.Windows.Forms.TextBoxBase.Modified%2A> property reverts to `false`. This does not raise the <xref:System.Windows.Forms.TextBoxBase.ModifiedChanged> event.
For more information about how to handle events, see [Handling and Raising Events](~/docs/standard/events/index.md).
## Examples
The following code example demonstrates the use of this member. In the example, an event handler reports on the occurrence of the <xref:System.Windows.Forms.TextBoxBase.ModifiedChanged> event. This report helps you to learn when the event occurs and can assist you in debugging. To report on multiple events or on events that occur frequently, consider replacing <xref:System.Windows.Forms.MessageBox.Show%2A?displayProperty=nameWithType> with <xref:System.Console.WriteLine%2A?displayProperty=nameWithType> or appending the message to a multiline <xref:System.Windows.Forms.TextBox>.
To run the example code, paste it into a project that contains an instance of a type that inherits from <xref:System.Windows.Forms.TextBoxBase>, such as a <xref:System.Windows.Forms.TextBox> or <xref:System.Windows.Forms.TextBoxBase>. Then name the instance `TextBoxBase1` and ensure that the event handler is associated with the <xref:System.Windows.Forms.TextBoxBase.ModifiedChanged> event.
[!code-csharp[System.Windows.Forms.EventExamples#246](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/CS/EventExamples.cs#246)]
[!code-vb[System.Windows.Forms.EventExamples#246](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/VB/EventExamples.vb#246)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.Modified" />
</Docs>
</Member>
<Member MemberName="MouseClick">
<MemberSignature Language="C#" Value="public event System.Windows.Forms.MouseEventHandler MouseClick;" />
<MemberSignature Language="ILAsm" Value=".event class System.Windows.Forms.MouseEventHandler MouseClick" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.MouseClick" />
<MemberSignature Language="VB.NET" Value="Public Custom Event MouseClick As MouseEventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event System::Windows::Forms::MouseEventHandler ^ MouseClick;" />
<MemberSignature Language="F#" Value="member this.MouseClick : System.Windows.Forms.MouseEventHandler " Usage="member this.MouseClick : System.Windows.Forms.MouseEventHandler " />
<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(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.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Always)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Windows.Forms.MouseEventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the control is clicked by the mouse.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.RichTextBox> control does not raise a <xref:System.Windows.Forms.TextBoxBase.Click> event for right clicks. The <xref:System.Windows.Forms.TextBoxBase.MouseClick> event provides the functional equivalent.
For more information about how to handle events, see [Handling and Raising Events](~/docs/standard/events/index.md).
## Examples
The following code example demonstrates the use of this member. In the example, an event handler reports on the occurrence of the <xref:System.Windows.Forms.TextBoxBase.MouseClick> event. This report helps you to learn when the event occurs and can assist you in debugging. To report on multiple events or on events that occur frequently, consider replacing <xref:System.Windows.Forms.MessageBox.Show%2A?displayProperty=nameWithType> with <xref:System.Console.WriteLine%2A?displayProperty=nameWithType> or appending the message to a multiline <xref:System.Windows.Forms.TextBox>.
To run the example code, paste it into a project that contains an instance of a type that inherits from <xref:System.Windows.Forms.TextBoxBase>, such as a <xref:System.Windows.Forms.TextBox> or <xref:System.Windows.Forms.TextBoxBase>. Then name the instance `TextBoxBase1` and ensure that the event handler is associated with the <xref:System.Windows.Forms.TextBoxBase.MouseClick> event.
[!code-csharp[System.Windows.Forms.EventExamples#244](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/CS/EventExamples.cs#244)]
[!code-vb[System.Windows.Forms.EventExamples#244](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/VB/EventExamples.vb#244)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Multiline">
<MemberSignature Language="C#" Value="public virtual bool Multiline { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool Multiline" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.Multiline" />
<MemberSignature Language="VB.NET" Value="Public Overridable Property Multiline As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool Multiline { bool get(); void set(bool value); };" />
<MemberSignature Language="F#" Value="member this.Multiline : bool with get, set" Usage="System.Windows.Forms.TextBoxBase.Multiline" />
<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.DefaultValue(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.Localizable(true)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.All)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets a value indicating whether this is a multiline text box control.</summary>
<value>
<see langword="true" /> if the control is a multiline text box control; otherwise, <see langword="false" />. The default is <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A multiline text box allows you to display more than one line of text in the control. If the <xref:System.Windows.Forms.TextBoxBase.WordWrap%2A> property is set to `true`, text entered into the multiline text box is wrapped to the next line in the control. If the <xref:System.Windows.Forms.TextBoxBase.WordWrap%2A> property is set to `false`, text entered into the multiline text box control will be displayed on the same line until a newline character is entered.
The following can be used as newline characters:
- <xref:System.Environment.NewLine%2A?displayProperty=nameWithType>
- ControlChars.CrLf
- vbCrLf (Visual Basic only)
You can add scroll bars to a text box using the <xref:System.Windows.Forms.TextBox.ScrollBars%2A> property to display horizontal and/or vertical scroll bars. This allows the user to scroll through the text that extends beyond the dimensions of the control.
> [!NOTE]
> Because the default value of the <xref:System.Windows.Forms.TextBoxBase.Multiline%2A> property is `false`, the default size of a <xref:System.Windows.Forms.TextBox> will be in accordance with the font size even if you resize the <xref:System.Windows.Forms.TextBox>. To get a consistent size for your <xref:System.Windows.Forms.TextBox>, set its <xref:System.Windows.Forms.TextBox.Multiline%2A> property to `true`.
> [!NOTE]
> On Japanese operating systems, if the <xref:System.Windows.Forms.TextBoxBase.Multiline%2A> property is set to `true`, setting the <xref:System.Windows.Forms.TextBox.PasswordChar%2A> property will display the text of the password, thus compromising system security. Therefore, on Japanese operating systems, set the <xref:System.Windows.Forms.TextBoxBase.Multiline%2A> property to `false` if you set the <xref:System.Windows.Forms.TextBox.PasswordChar%2A> property.
> [!NOTE]
> This property is set to `false` by default for all derived classes, with the exception of the <xref:System.Windows.Forms.RichTextBox> control.
For a <xref:System.Windows.Forms.RichTextBox> control, the <xref:System.Windows.Forms.RichTextBox.Multiline%2A?displayProperty=nameWithType> property affects whether or not the control will automatically resize, as follows:
- If <xref:System.Windows.Forms.RichTextBox.AutoSize%2A?displayProperty=nameWithType> is set to `true` and <xref:System.Windows.Forms.RichTextBox.Multiline%2A?displayProperty=nameWithType> is set to `true`, <xref:System.Windows.Forms.RichTextBox> will not automatically resize.
- If <xref:System.Windows.Forms.RichTextBox.AutoSize%2A?displayProperty=nameWithType> is set to `true` and <xref:System.Windows.Forms.RichTextBox.Multiline%2A?displayProperty=nameWithType> is set to `false`, <xref:System.Windows.Forms.RichTextBox> will automatically resize.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class, to create a multiline <xref:System.Windows.Forms.TextBox> control with vertical scroll bars. This example also uses the <xref:System.Windows.Forms.TextBoxBase.AcceptsTab%2A>, <xref:System.Windows.Forms.TextBox.AcceptsReturn%2A>, and <xref:System.Windows.Forms.TextBoxBase.WordWrap%2A> properties to make the multiline text box control useful for creating text documents.
[!code-cpp[Classic TextBoxBase.AcceptsTab Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.AcceptsTab Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.AcceptsTab Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.AcceptsTab Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.AcceptsTab Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.AcceptsTab Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.Lines" />
<altmember cref="P:System.Windows.Forms.TextBoxBase.WordWrap" />
<altmember cref="P:System.Windows.Forms.TextBox.ScrollBars" />
</Docs>
</Member>
<Member MemberName="MultilineChanged">
<MemberSignature Language="C#" Value="public event EventHandler MultilineChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler MultilineChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.MultilineChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event MultilineChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ MultilineChanged;" />
<MemberSignature Language="F#" Value="member this.MultilineChanged : EventHandler " Usage="member this.MultilineChanged : System.EventHandler " />
<MemberType>Event</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.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the value of the <see cref="P:System.Windows.Forms.TextBoxBase.Multiline" /> property has changed.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
For more information about how to handle events, see [Handling and Raising Events](~/docs/standard/events/index.md).
## Examples
The following code example demonstrates the use of this member. In the example, an event handler reports on the occurrence of the <xref:System.Windows.Forms.TextBoxBase.MultilineChanged> event. This report helps you to learn when the event occurs and can assist you in debugging. To report on multiple events or on events that occur frequently, consider replacing <xref:System.Windows.Forms.MessageBox.Show%2A?displayProperty=nameWithType> with <xref:System.Console.WriteLine%2A?displayProperty=nameWithType> or appending the message to a multiline <xref:System.Windows.Forms.TextBox>.
To run the example code, paste it into a project that contains an instance of a type that inherits from <xref:System.Windows.Forms.TextBoxBase>, such as a <xref:System.Windows.Forms.TextBox> or <xref:System.Windows.Forms.TextBoxBase>. Then name the instance `TextBoxBase1` and ensure that the event handler is associated with the <xref:System.Windows.Forms.TextBoxBase.MultilineChanged> event.
[!code-csharp[System.Windows.Forms.EventExamples#247](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/CS/EventExamples.cs#247)]
[!code-vb[System.Windows.Forms.EventExamples#247](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/VB/EventExamples.vb#247)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.Multiline" />
</Docs>
</Member>
<Member MemberName="OnAcceptsTabChanged">
<MemberSignature Language="C#" Value="protected virtual void OnAcceptsTabChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnAcceptsTabChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnAcceptsTabChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnAcceptsTabChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnAcceptsTabChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnAcceptsTabChanged : EventArgs -&gt; unit&#xA;override this.OnAcceptsTabChanged : EventArgs -&gt; unit" Usage="textBoxBase.OnAcceptsTabChanged e" />
<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="e" Type="System.EventArgs" />
</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.TextBoxBase.AcceptsTabChanged" /> 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.TextBoxBase.OnAcceptsTabChanged%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.TextBoxBase.OnAcceptsTabChanged(System.EventArgs)" /> in a derived class, be sure to call the base class's <see cref="M:System.Windows.Forms.TextBoxBase.OnAcceptsTabChanged(System.EventArgs)" /> method so that registered delegates receive the event.</para>
</block>
<altmember cref="P:System.Windows.Forms.TextBoxBase.AcceptsTab" />
<altmember cref="E:System.Windows.Forms.TextBoxBase.AcceptsTabChanged" />
</Docs>
</Member>
<Member MemberName="OnAutoSizeChanged">
<MemberSignature Language="C#" Value="protected virtual void OnAutoSizeChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnAutoSizeChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnAutoSizeChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnAutoSizeChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnAutoSizeChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnAutoSizeChanged : EventArgs -&gt; unit&#xA;override this.OnAutoSizeChanged : EventArgs -&gt; unit" Usage="textBoxBase.OnAutoSizeChanged e" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="e" Type="System.EventArgs" Index="0" FrameworkAlternate="netframework-1.1" />
</Parameters>
<Docs>
<param name="e">An object that contains event data.</param>
<summary>Raises the <see cref="E:System.Windows.Forms.TextBoxBase.AutoSizeChanged" /> event.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="OnBorderStyleChanged">
<MemberSignature Language="C#" Value="protected virtual void OnBorderStyleChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnBorderStyleChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnBorderStyleChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnBorderStyleChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnBorderStyleChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnBorderStyleChanged : EventArgs -&gt; unit&#xA;override this.OnBorderStyleChanged : EventArgs -&gt; unit" Usage="textBoxBase.OnBorderStyleChanged e" />
<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="e" Type="System.EventArgs" />
</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.TextBoxBase.BorderStyleChanged" /> 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.TextBoxBase.OnBorderStyleChanged%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.TextBoxBase.OnBorderStyleChanged(System.EventArgs)" /> in a derived class, be sure to call the base class's <see cref="M:System.Windows.Forms.TextBoxBase.OnBorderStyleChanged(System.EventArgs)" /> method so that registered delegates receive the event.</para>
</block>
<altmember cref="P:System.Windows.Forms.TextBoxBase.BorderStyle" />
<altmember cref="E:System.Windows.Forms.TextBoxBase.BorderStyleChanged" />
</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.TextBoxBase.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="textBoxBase.OnFontChanged e" />
<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="e" Type="System.EventArgs" />
</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>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.OnFontChanged(System.EventArgs)" />
</Docs>
</Member>
<Member MemberName="OnHandleCreated">
<MemberSignature Language="C#" Value="protected override void OnHandleCreated (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnHandleCreated(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnHandleCreated(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnHandleCreated (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnHandleCreated(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="override this.OnHandleCreated : EventArgs -&gt; unit" Usage="textBoxBase.OnHandleCreated e" />
<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="e" Type="System.EventArgs" />
</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.HandleCreated" /> event.</summary>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.OnHandleCreated(System.EventArgs)" />
</Docs>
</Member>
<Member MemberName="OnHandleDestroyed">
<MemberSignature Language="C#" Value="protected override void OnHandleDestroyed (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnHandleDestroyed(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnHandleDestroyed(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnHandleDestroyed (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnHandleDestroyed(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="override this.OnHandleDestroyed : EventArgs -&gt; unit" Usage="textBoxBase.OnHandleDestroyed e" />
<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="e" Type="System.EventArgs" />
</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.HandleDestroyed" /> event.</summary>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.OnHandleDestroyed(System.EventArgs)" />
</Docs>
</Member>
<Member MemberName="OnHideSelectionChanged">
<MemberSignature Language="C#" Value="protected virtual void OnHideSelectionChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnHideSelectionChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnHideSelectionChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnHideSelectionChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnHideSelectionChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnHideSelectionChanged : EventArgs -&gt; unit&#xA;override this.OnHideSelectionChanged : EventArgs -&gt; unit" Usage="textBoxBase.OnHideSelectionChanged e" />
<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="e" Type="System.EventArgs" />
</Parameters>
<Docs>
<param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
<summary>Raise the <see cref="E:System.Windows.Forms.TextBoxBase.HideSelectionChanged" /> 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.TextBoxBase.OnHideSelectionChanged%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.TextBoxBase.OnHideSelectionChanged(System.EventArgs)" /> in a derived class, be sure to call the base class's <see cref="M:System.Windows.Forms.TextBoxBase.OnHideSelectionChanged(System.EventArgs)" /> method so that registered delegates receive the event.</para>
</block>
<altmember cref="P:System.Windows.Forms.TextBoxBase.HideSelection" />
<altmember cref="E:System.Windows.Forms.TextBoxBase.HideSelectionChanged" />
</Docs>
</Member>
<Member MemberName="OnModifiedChanged">
<MemberSignature Language="C#" Value="protected virtual void OnModifiedChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnModifiedChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnModifiedChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnModifiedChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnModifiedChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnModifiedChanged : EventArgs -&gt; unit&#xA;override this.OnModifiedChanged : EventArgs -&gt; unit" Usage="textBoxBase.OnModifiedChanged e" />
<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="e" Type="System.EventArgs" />
</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.TextBoxBase.ModifiedChanged" /> 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.TextBoxBase.OnModifiedChanged%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.TextBoxBase.OnModifiedChanged(System.EventArgs)" /> in a derived class, be sure to call the base class's <see cref="M:System.Windows.Forms.TextBoxBase.OnModifiedChanged(System.EventArgs)" /> method so that registered delegates receive the event.</para>
</block>
<altmember cref="P:System.Windows.Forms.TextBoxBase.Modified" />
<altmember cref="E:System.Windows.Forms.TextBoxBase.ModifiedChanged" />
</Docs>
</Member>
<Member MemberName="OnMouseUp">
<MemberSignature Language="C#" Value="protected override void OnMouseUp (System.Windows.Forms.MouseEventArgs mevent);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnMouseUp(class System.Windows.Forms.MouseEventArgs mevent) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnMouseUp(System.Windows.Forms.MouseEventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnMouseUp (mevent As MouseEventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnMouseUp(System::Windows::Forms::MouseEventArgs ^ mevent);" />
<MemberSignature Language="F#" Value="override this.OnMouseUp : System.Windows.Forms.MouseEventArgs -&gt; unit" Usage="textBoxBase.OnMouseUp mevent" />
<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="mevent" Type="System.Windows.Forms.MouseEventArgs" 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="mevent">The event data.</param>
<summary>Raises the <see cref="E:System.Windows.Forms.Control.MouseUp" /> event.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="OnMultilineChanged">
<MemberSignature Language="C#" Value="protected virtual void OnMultilineChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnMultilineChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnMultilineChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnMultilineChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnMultilineChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnMultilineChanged : EventArgs -&gt; unit&#xA;override this.OnMultilineChanged : EventArgs -&gt; unit" Usage="textBoxBase.OnMultilineChanged e" />
<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="e" Type="System.EventArgs" />
</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.TextBoxBase.MultilineChanged" /> 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.TextBoxBase.OnMultilineChanged%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.TextBoxBase.OnMultilineChanged(System.EventArgs)" /> in a derived class, be sure to call the base class's <see cref="M:System.Windows.Forms.TextBoxBase.OnMultilineChanged(System.EventArgs)" /> method so that registered delegates receive the event.</para>
</block>
<altmember cref="P:System.Windows.Forms.TextBoxBase.Multiline" />
<altmember cref="E:System.Windows.Forms.TextBoxBase.MultilineChanged" />
</Docs>
</Member>
<Member MemberName="OnPaddingChanged">
<MemberSignature Language="C#" Value="protected override void OnPaddingChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnPaddingChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnPaddingChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnPaddingChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnPaddingChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="override this.OnPaddingChanged : EventArgs -&gt; unit" Usage="textBoxBase.OnPaddingChanged 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>This method is not relevant for this class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method is not relevant for this class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="OnReadOnlyChanged">
<MemberSignature Language="C#" Value="protected virtual void OnReadOnlyChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnReadOnlyChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnReadOnlyChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnReadOnlyChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnReadOnlyChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnReadOnlyChanged : EventArgs -&gt; unit&#xA;override this.OnReadOnlyChanged : EventArgs -&gt; unit" Usage="textBoxBase.OnReadOnlyChanged e" />
<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="e" Type="System.EventArgs" />
</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.TextBoxBase.ReadOnlyChanged" /> 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.TextBoxBase.OnReadOnlyChanged%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.TextBoxBase.OnReadOnlyChanged(System.EventArgs)" /> in a derived class, be sure to call the base class's <see cref="M:System.Windows.Forms.TextBoxBase.OnReadOnlyChanged(System.EventArgs)" /> method so that registered delegates receive the event.</para>
</block>
<altmember cref="P:System.Windows.Forms.TextBoxBase.ReadOnly" />
<altmember cref="E:System.Windows.Forms.TextBoxBase.ReadOnlyChanged" />
</Docs>
</Member>
<Member MemberName="OnTextChanged">
<MemberSignature Language="C#" Value="protected override void OnTextChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnTextChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.OnTextChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnTextChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnTextChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="override this.OnTextChanged : EventArgs -&gt; unit" Usage="textBoxBase.OnTextChanged 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.TextChanged" /> event.</summary>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Forms.Control.OnTextChanged(System.EventArgs)" />
</Docs>
</Member>
<Member MemberName="Padding">
<MemberSignature Language="C#" Value="public System.Windows.Forms.Padding Padding { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Windows.Forms.Padding Padding" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.Padding" />
<MemberSignature Language="VB.NET" Value="Public Property Padding As Padding" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::Windows::Forms::Padding Padding { System::Windows::Forms::Padding get(); void set(System::Windows::Forms::Padding value); };" />
<MemberSignature Language="F#" Value="member this.Padding : System.Windows.Forms.Padding with get, set" Usage="System.Windows.Forms.TextBoxBase.Padding" />
<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.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Windows.Forms.Padding</ReturnType>
</ReturnValue>
<Docs>
<summary>This property is not relevant for this class.</summary>
<value>A <see cref="T:System.Windows.Forms.Padding" /> value.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This property is not relevant for this class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="PaddingChanged">
<MemberSignature Language="C#" Value="public event EventHandler PaddingChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler PaddingChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.PaddingChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event PaddingChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ PaddingChanged;" />
<MemberSignature Language="F#" Value="member this.PaddingChanged : EventHandler " Usage="member this.PaddingChanged : 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.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.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>This event is not relevant for this class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This event is not relevant for this class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Paint">
<MemberSignature Language="C#" Value="public event System.Windows.Forms.PaintEventHandler Paint;" />
<MemberSignature Language="ILAsm" Value=".event class System.Windows.Forms.PaintEventHandler Paint" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.Paint" />
<MemberSignature Language="VB.NET" Value="Public Custom Event Paint As PaintEventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event System::Windows::Forms::PaintEventHandler ^ Paint;" />
<MemberSignature Language="F#" Value="member this.Paint : System.Windows.Forms.PaintEventHandler " Usage="member this.Paint : System.Windows.Forms.PaintEventHandler " />
<MemberType>Event</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.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Windows.Forms.PaintEventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the control is redrawn. This event is not relevant for this class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This event is not relevant for this class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Paste">
<MemberSignature Language="C#" Value="public void Paste ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Paste() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.Paste" />
<MemberSignature Language="VB.NET" Value="Public Sub Paste ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void Paste();" />
<MemberSignature Language="F#" Value="member this.Paste : unit -&gt; unit" Usage="textBoxBase.Paste " />
<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>Replaces the current selection in the text box with the contents of the **Clipboard**.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TextBoxBase.Paste%2A> method will only paste text into the control if text is currently stored in the **Clipboard**.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class. It provides <xref:System.Windows.Forms.MenuItem.Click> event handlers for <xref:System.Windows.Forms.MenuItem> objects that perform Cut, Copy, Paste, and Undo operations. This example requires that a <xref:System.Windows.Forms.TextBox> control named `textBox1` has been created.
[!code-cpp[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.SelectionLength Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.SelectionLength Example/VB/source.vb#1)]
]]></format>
</remarks>
<permission cref="T:System.Security.Permissions.UIPermission">for reading from the **Clipboard**. Associated enumeration: the <see langword="AllClipboard" /> value of <see cref="T:System.Security.Permissions.UIPermissionClipboard" />.</permission>
</Docs>
</Member>
<Member MemberName="PreferredHeight">
<MemberSignature Language="C#" Value="public int PreferredHeight { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 PreferredHeight" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.PreferredHeight" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property PreferredHeight As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property int PreferredHeight { int get(); };" />
<MemberSignature Language="F#" Value="member this.PreferredHeight : int" Usage="System.Windows.Forms.TextBoxBase.PreferredHeight" />
<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>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the preferred height for a text box.</summary>
<value>The preferred height of a text box.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The size returned by this property is based on the font height and border style of the text box. You can use this property to determine the appropriate size of the text box to ensure that text is properly displayed in the control. The value returned by this property is in pixels.
The value of <xref:System.Windows.Forms.TextBoxBase.PreferredHeight%2A> represents the minimum height the text box must have in order to display a single line of text without clipping the text on the top or bottom. This value is the same whether the <xref:System.Windows.Forms.TextBoxBase.Multiline%2A> property is set to `true` or `false`.
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.AutoSize" />
</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.TextBoxBase.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="textBoxBase.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 shortcut key to process.</param>
<summary>Processes a command key.</summary>
<returns>
<see langword="true" /> if the command key was processed by the control; otherwise, <see langword="false" />.</returns>
<remarks>To be added.</remarks>
<permission cref="T:System.Security.Permissions.SecurityPermission">for operating with unmanaged code. Associated enumeration: <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode" /></permission>
</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.TextBoxBase.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="textBoxBase.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="ReadOnly">
<MemberSignature Language="C#" Value="public bool ReadOnly { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool ReadOnly" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.ReadOnly" />
<MemberSignature Language="VB.NET" Value="Public Property ReadOnly As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property bool ReadOnly { bool get(); void set(bool value); };" />
<MemberSignature Language="F#" Value="member this.ReadOnly : bool with get, set" Usage="System.Windows.Forms.TextBoxBase.ReadOnly" />
<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.DefaultValue(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.RefreshProperties(System.ComponentModel.RefreshProperties.Repaint)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets a value indicating whether text in the text box is read-only.</summary>
<value>
<see langword="true" /> if the text box is read-only; otherwise, <see langword="false" />. The default is <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
When this property is set to `true`, the contents of the control cannot be changed by the user at runtime. With this property set to `true`, you can still set the value of the <xref:System.Windows.Forms.TextBoxBase.Text%2A> property in code. You can use this feature instead of disabling the control with the <xref:System.Windows.Forms.Control.Enabled%2A> property to allow the contents to be copied and ToolTips to be shown.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ReadOnlyChanged">
<MemberSignature Language="C#" Value="public event EventHandler ReadOnlyChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler ReadOnlyChanged" />
<MemberSignature Language="DocId" Value="E:System.Windows.Forms.TextBoxBase.ReadOnlyChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event ReadOnlyChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ ReadOnlyChanged;" />
<MemberSignature Language="F#" Value="member this.ReadOnlyChanged : EventHandler " Usage="member this.ReadOnlyChanged : System.EventHandler " />
<MemberType>Event</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.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the value of the <see cref="P:System.Windows.Forms.TextBoxBase.ReadOnly" /> property has changed.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
For more information about how to handle events, see [Handling and Raising Events](~/docs/standard/events/index.md).
## Examples
The following code example demonstrates the use of this member. In the example, an event handler reports on the occurrence of the <xref:System.Windows.Forms.TextBoxBase.ReadOnlyChanged> event. This report helps you to learn when the event occurs and can assist you in debugging. To report on multiple events or on events that occur frequently, consider replacing <xref:System.Windows.Forms.MessageBox.Show%2A?displayProperty=nameWithType> with <xref:System.Console.WriteLine%2A?displayProperty=nameWithType> or appending the message to a multiline <xref:System.Windows.Forms.TextBox>.
To run the example code, paste it into a project that contains an instance of a type that inherits from <xref:System.Windows.Forms.TextBoxBase>, such as a <xref:System.Windows.Forms.TextBox> or <xref:System.Windows.Forms.TextBoxBase>. Then name the instance `TextBoxBase1` and ensure that the event handler is associated with the <xref:System.Windows.Forms.TextBoxBase.ReadOnlyChanged> event.
[!code-csharp[System.Windows.Forms.EventExamples#248](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/CS/EventExamples.cs#248)]
[!code-vb[System.Windows.Forms.EventExamples#248](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.EventExamples/VB/EventExamples.vb#248)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.ReadOnly" />
</Docs>
</Member>
<Member MemberName="ScrollToCaret">
<MemberSignature Language="C#" Value="public void ScrollToCaret ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ScrollToCaret() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.ScrollToCaret" />
<MemberSignature Language="VB.NET" Value="Public Sub ScrollToCaret ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void ScrollToCaret();" />
<MemberSignature Language="F#" Value="member this.ScrollToCaret : unit -&gt; unit" Usage="textBoxBase.ScrollToCaret " />
<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>Scrolls the contents of the control to the current caret position.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method enables you to scroll the contents of the control until the caret is within the visible region of the control. If the caret is positioned below the visible region of the control, the <xref:System.Windows.Forms.TextBoxBase.ScrollToCaret%2A> method will scroll the contents of the control until the caret is visible at the bottom of the control. If the caret is positioned above the visible region of the control, this method scrolls the contents of the control until the caret is visible at the top of the control. You can use this method in a multiline text box to ensure that the current text entry point is within the visible region of the control.
> [!NOTE]
> This method has no effect if the control does not have focus or if the caret is already positioned in the visible region of the control.
## Examples
The following code example demonstrates how to use the <xref:System.Windows.Forms.Keys> enumeration and the <xref:System.Windows.Forms.TextBoxBase.ScrollToCaret%2A> method to ensure that the text insertion point, represented by the caret, is always visible on the screen after the ENTER key has been pressed. To run the example, paste the following code in a form containing a <xref:System.Windows.Forms.TextBox> control called `TextBox1` and a <xref:System.Windows.Forms.RichTextBox> control called `RichTextBox1`. This example requires that the event-handling method has been associated with the <xref:System.Windows.Forms.Control.KeyDown> event.
[!code-cpp[System.Windows.Forms.TextBoxBaseScrolling#1](~/samples/snippets/cpp/VS_Snippets_Winforms/System.Windows.Forms.TextBoxBaseScrolling/CPP/form1.cpp#1)]
[!code-csharp[System.Windows.Forms.TextBoxBaseScrolling#1](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.TextBoxBaseScrolling/CS/form1.cs#1)]
[!code-vb[System.Windows.Forms.TextBoxBaseScrolling#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.TextBoxBaseScrolling/VB/form1.vb#1)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Select">
<MemberSignature Language="C#" Value="public void Select (int start, int length);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Select(int32 start, int32 length) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.Select(System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Sub Select (start As Integer, length As Integer)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void Select(int start, int length);" />
<MemberSignature Language="F#" Value="override this.Select : int * int -&gt; unit" Usage="textBoxBase.Select (start, length)" />
<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="start" Type="System.Int32" />
<Parameter Name="length" Type="System.Int32" />
</Parameters>
<Docs>
<param name="start">The position of the first character in the current text selection within the text box.</param>
<param name="length">The number of characters to select.</param>
<summary>Selects a range of text in the text box.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If you want to set the start position to the first character in the control's text, set the `start` parameter to 0. You can use this method to select a substring of text, such as when searching through the text of the control and replacing information.
> [!NOTE]
> You can programmatically move the caret within the text box by setting the `start` parameter to the position within the text box where you want the caret to move to and set the `length` parameter to a value of zero (0). The text box must have focus in order for the caret to be moved.
> [!NOTE]
> If this method is called without any parameters, an alternative method is used. This alternative method inherits from the <xref:System.Windows.Forms.Control> class. When called, it sets the input focus to the control and selects the contents of the control. For more information, see the <xref:System.Windows.Forms.Control.Select%2A?displayProperty=nameWithType> method.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class, to search the contents of the control for the instance of the word "fox". If found, the code selects the word in the control using the <xref:System.Windows.Forms.TextBoxBase.Select%2A> method. This example requires that a <xref:System.Windows.Forms.TextBox> named `textBox1` has been created and its <xref:System.Windows.Forms.TextBoxBase.Text%2A> property contains the sentence "The quick brown fox jumps over the lazy dog."
[!code-cpp[Classic TextBoxBase.Select Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.Select Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.Select Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.Select Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.Select Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.Select Example/VB/source.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">The value of the <paramref name="start" /> parameter is less than zero.</exception>
<altmember cref="M:System.Windows.Forms.TextBoxBase.SelectAll" />
<altmember cref="P:System.Windows.Forms.TextBoxBase.SelectionLength" />
<altmember cref="P:System.Windows.Forms.TextBoxBase.SelectionStart" />
<altmember cref="P:System.Windows.Forms.TextBoxBase.SelectedText" />
</Docs>
</Member>
<Member MemberName="SelectAll">
<MemberSignature Language="C#" Value="public void SelectAll ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SelectAll() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TextBoxBase.SelectAll" />
<MemberSignature Language="VB.NET" Value="Public Sub SelectAll ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void SelectAll();" />
<MemberSignature Language="F#" Value="member this.SelectAll : unit -&gt; unit" Usage="textBoxBase.SelectAll " />
<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>Selects all text in the text box.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method enables you to select all text within the control. You can use this method in conjunction with the <xref:System.Windows.Forms.TextBoxBase.Cut%2A> method, which requires text to be selected in the control, to cut the entire contents of the control and paste them into the **Clipboard**.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class, to determine if any text is selected in the control. If no text is selected, a call is made to the <xref:System.Windows.Forms.TextBoxBase.SelectAll%2A> method before copying the contents of the control to the **Clipboard**. This example requires that a <xref:System.Windows.Forms.TextBox> has been created named `textBox1`.
[!code-cpp[Classic TextBoxBase.SelectAll Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.SelectAll Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.SelectAll Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.SelectAll Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.SelectAll Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.SelectAll Example/VB/source.vb#1)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="SelectedText">
<MemberSignature Language="C#" Value="public virtual string SelectedText { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string SelectedText" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.SelectedText" />
<MemberSignature Language="VB.NET" Value="Public Overridable Property SelectedText As String" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::String ^ SelectedText { System::String ^ get(); void set(System::String ^ value); };" />
<MemberSignature Language="F#" Value="member this.SelectedText : string with get, set" Usage="System.Windows.Forms.TextBoxBase.SelectedText" />
<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>
<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.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets a value indicating the currently selected text in the control.</summary>
<value>A string that represents the currently selected text in the text box.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can assign text to this property to change the text currently selected in the text box. If no text is currently selected in the text box, this property returns a zero-length string.
## Examples
The following code example uses <xref:System.Windows.Forms.TextBox>, a derived class. It provides <xref:System.Windows.Forms.MenuItem.Click> event handlers for <xref:System.Windows.Forms.MenuItem> objects that perform Cut, Copy, Paste, and Undo operations. This example requires that a <xref:System.Windows.Forms.TextBox> control named `textBox1` has been created.
[!code-cpp[Classic TextBoxBase.SelectedText Example#1](~/samples/snippets/cpp/VS_Snippets_Winforms/Classic TextBoxBase.SelectedText Example/CPP/source.cpp#1)]
[!code-csharp[Classic TextBoxBase.SelectedText Example#1](~/samples/snippets/csharp/VS_Snippets_Winforms/Classic TextBoxBase.SelectedText Example/CS/source.cs#1)]
[!code-vb[Classic TextBoxBase.SelectedText Example#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/Classic TextBoxBase.SelectedText Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="P:System.Windows.Forms.TextBoxBase.SelectionStart" />
<altmember cref="P:System.Windows.Forms.TextBoxBase.SelectionLength" />
</Docs>
</Member>
<Member MemberName="SelectionLength">
<MemberSignature Language="C#" Value="public virtual int SelectionLength { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 SelectionLength" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TextBoxBase.SelectionLength" />
<MemberSignature Language="VB.NET" Value="Public Overridable Property SelectionLength As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property int SelectionLength { int get(); void set(int value); };" />
<