Hi,
I am working on a C# Winforms app. I have to create a textbox like control. When the user types text in it, I should show a list of matching options like google suggest. User can choose an option from the list and this option is shown in the textbox towards the left-corner. User can continue typing more text after the option and again we should show matching options. In short, user can type and select any number of options and each selected option becomes part of the static text in the textbox.

Additionally, each previously selected option in the textbox can be removed by clicking a small 'x' mark next to it and the entire textbox can be cleared by clicking a small 'x' mark at the right end of the textbox.

How can I go about achieving this functionality? Creating my own custom controls using GDI+ seems like the way. Any help will be appreciated.

Thanks!
Balaji