TextBox.AutoCompleteSource Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets a value specifying the source of complete strings used for automatic completion.
public:
property System::Windows::Forms::AutoCompleteSource AutoCompleteSource { System::Windows::Forms::AutoCompleteSource get(); void set(System::Windows::Forms::AutoCompleteSource value); };
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.TextBoxAutoCompleteSourceConverter))]
public System.Windows.Forms.AutoCompleteSource AutoCompleteSource { get; set; }
[<System.ComponentModel.Browsable(true)>]
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.TextBoxAutoCompleteSourceConverter))>]
member this.AutoCompleteSource : System.Windows.Forms.AutoCompleteSource with get, set
Public Property AutoCompleteSource As AutoCompleteSource
Property Value
One of the values of AutoCompleteSource. The options are AllSystemSources
, AllUrl
, FileSystem
, HistoryList
, RecentlyUsedList
, CustomSource
, and None
. The default is None
.
- Attributes
Exceptions
The specified value is not one of the values of AutoCompleteSource.
Examples
The following code example demonstrates how to use a collection as the auto-complete custom source for a TextBox control. This example does the following:
Uses the AutoCompleteSource property to enable the TextBox control to accept a custom source for its auto-complete behavior.
Uses the AutoCompleteCustomSource property to set the custom list of values.
Uses the AutoCompleteMode property to set how the auto-complete candidates are displayed.
private void Form1_Load(object sender, EventArgs e)
{
// Create the list to use as the custom source.
var source = new AutoCompleteStringCollection();
source.AddRange(new string[]
{
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
});
// Create and initialize the text box.
var textBox = new TextBox
{
AutoCompleteCustomSource = source,
AutoCompleteMode =
AutoCompleteMode.SuggestAppend,
AutoCompleteSource =
AutoCompleteSource.CustomSource,
Location = new Point(20, 20),
Width = ClientRectangle.Width - 40,
Visible = true
};
// Add the text box to the form.
Controls.Add(textBox);
}
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
' Create the list to use as the custom source.
Dim MySource As New AutoCompleteStringCollection()
MySource.AddRange(New String() _
{ _
"January", _
"February", _
"March", _
"April", _
"May", _
"June", _
"July", _
"August", _
"September", _
"October", _
"November", _
"December" _
})
' Create and initialize the text box.
Dim MyTextBox As New TextBox()
With MyTextBox
.AutoCompleteCustomSource = MySource
.AutoCompleteMode = AutoCompleteMode.SuggestAppend
.AutoCompleteSource = AutoCompleteSource.CustomSource
.Location = New Point(20, 20)
.Width = Me.ClientRectangle.Width - 40
.Visible = True
End With
' Add the text box to the form.
Me.Controls.Add(MyTextBox)
End Sub
Remarks
Use the AutoCompleteCustomSource, AutoCompleteMode, and AutoCompleteSource properties to create a TextBox that automatically completes input strings by comparing the prefix being entered to the prefixes of all strings in a maintained source. This is useful for TextBox controls in which URLs, addresses, file names, or commands will be frequently entered.
The use of the AutoCompleteCustomSource property is optional, but you must set the AutoCompleteSource property to CustomSource
in order to use AutoCompleteCustomSource.
You must use the AutoCompleteMode and AutoCompleteSource properties together.
Note
AutoCompleteSource does not work on multiline TextBox controls.
Note
The operating system might limit the number of custom strings that can be displayed at once.