Articles in this section
Category / Section

How can I customize a TextBox for auto-completion with items separated by a comma?

1 min read

 This requirement can be achieved by the following code snippets.


C#

private void AutoComplete1_AutoCompleteItemSelected(object sender, Syncfusion.Windows.Forms.Tools.AutoCompleteItemEventArgs args)
{
    Control ct = this.TextBox1;
    if (this.AutoComplete1.ActiveFocusControl == ct)
    {
        int commaPos = this.TextBox1.Text.LastIndexOf(",");
        string currentText = this.TextBox1.Text;
        if (commaPos >= 0)
        {
            currentText = this.TextBox1.Text.Substring(0, commaPos + 1);
        }
        args.SelectedValue = currentText + args.ItemArray[args.MatchColumnIndex].ToString();
        args.Handled = true;
    }
}

private void AutoComplete1_AutoCompleteCustomize(object sender, Syncfusion.Windows.Forms.Tools.AutoCompleteCustomizeEventArgs args)
{
    Control ct = this.TextBox1;
    if (args.ActiveFocusControl == ct)
    {
        int commaPos = this.TextBox1.Text.LastIndexOf(",");
        string commaText = "";
        if (commaPos >= 0)
        {
            commaText = this.TextBox1.Text.Substring(commaPos + 1, this.TextBox1.TextLength - commaPos - 1);
        }

        if (this.TextBox1.SelectionStart > commaPos & commaPos >= 0)
        {
            args.AutoSuggestLocation = new Point(this.Location.X + this.TextBox1.Location.X + (this.TextBox1.TextLength * 5) + 2, this.Location.Y + 40 + this.TextBox1.Location.Y + 10);
args.TextForAutoCompletion = commaText;
            args.Handled = true;
        }
    }
}

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied