728x90 AdSpace

  • Latest News

    [Tips] ComboBox AutoCompleted C#

    When using the combobox. Sometime you need the combobox with auto completed. So you can create any combox with auto-complete feature by using KeyPress and TextChanged or create any class override two above function

    On the OnKeyPress function. If users press any key, this can change and replace the text on comboBox. If the users press backspace or function key we don't do anything. See the below example .








    ComboBox AutoCompleted C#

    ComboBox AutoCompleted C#

    CAutoCompletedComboBox.cs



    // Developer: VịLH / Zidane (huuvi168@gmail.com)
    // Last Modified: 2016-07-01

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace AutoCompletedDemo
    {

    public class CAutoCompleterComboBox: ComboBox
    {
    // bKey use when the special keys is pressed
    // In this case, the replace will be cancel!

    private bool bkey = false;

    // confirm the special key is pressed or not?
    protected override void OnKeyPress(System.Windows.Forms.KeyPressEventArgs e){

    base.OnKeyPress(e);
    if (e.KeyChar == (int)Keys.Escape)
    {
    // remote text
    this.SelectedIndex = -1;
    this.Text = "";
    bkey = true;
    }

    else if (Char.IsControl(e.KeyChar))
    bkey = true;
    else
    bkey = false;
    }

    // remove the text
    protected override void OnTextChanged(EventArgs e)
    {
    base.OnTextChanged(e);

    if (this.Text != "" && !bkey) {
    // Find the same Item.
    string matchText = this.Text;
    int match = this.FindString(matchText);

    // If found insert it
    if (match != -1)
    {
    this.SelectedIndex = match;

    // choose (test had just insert it)
    // that can be replace if users type

    this.SelectionStart = matchText.Length;
    this.SelectionLength = this.Text.Length - this.SelectionStart;
    }
    }
    }
    }
    }




    FrmMain.cs




    // Developer: VịLH / Zidane (huuvi168@gmail.com)
    // Last Modified: 2016-07-01

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace AutoCompletedDemo
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    CAutoCompleterComboBox combo = new CAutoCompleterComboBox();
    combo.Location = new Point(10, 10);
    combo.Width = 200;
    this.Controls.Add(combo);

    string[] arItems = new string[] {
    "Money",
    "CSharp",
    "Dot net",
    "C++",
    "PHP",
    "Lua",
    "Javascript",
    "Java",
    "Learn Tech Tips",
    "Zidane",
    "huuvi168@gmail.com",
    "facebook"
    };

    for (int i=0; i< arItems.Length; i++)
    {
    combo.Items.Add(arItems[i].ToString());
    }
    }
    }
    }


     
    Have any question, leave your comment, we can discuss about it!
    Have a nice day!
    Zidane 
    http://learn-tech-tips.blogspot.com/
    • Blogger Comments
    • Facebook Comments

    0 comments:

    Post a Comment

    Item Reviewed: [Tips] ComboBox AutoCompleted C# Rating: 5 Reviewed By: Unknown
    Scroll to Top