S
Smithers
I am looking to implement a search feature into a Windows Forms MDI
application. Specifically I plan to embed 3 textboxes into a toolbar; one
for LastName, another for FirstName, and one for CustomerID. When the user
starts typing into any of these textboxes I would like to pop up another
form that shows the user a dynamic list of the closest matches. The user can
then use the up- and down-arrow keys to select a customer from that pop up
form.
To see an example of similar ("close-but-not-quite") functionality, go to
http://www.thebusco.com/ and in the upper left-hand corner there is a
textbox with 'Enter Part Search Here'. Start typing 'air vent cover' to see
the behaviour in question. Yes, it's a Web application and I'm doing a
Windows Forms app, but it shows you the general idea of what I'm trying to
accomplish with Windows Forms.
Please note that I am familiar with the new 2.0 features: AutoCompleteMode,
AutoCompleteSource, and AutoCompleteCustomSource.
But those won't work for my situation because I'm *not* looking to simply
populate a textbox or a combo box from the list.
What I am needing to do is let the user select the customer for which info
is to appear in the currently active MDI form (and not only the control into
which they are typing). The idea is that the user starts typing into any one
of the 3 textboxes; as they type - the pop up window appears and shows the
closest matches. The user then hits the down arrow key a few times to select
the desired match, then hits Enter to (1) close the popup window, and (2)
trigger logic that shows the selected customer's info in the currently
active MDI form.
Note that I want to pop up another window [for the closest matches] so that
I can show the user many property values for the possible matches (and not
simply show them a list of names similar to the one they are searching, for
example).
What do you see as the biggest challenges in accomplishing this dynamic
search capability (and reasonable solutions)? What are the building blocks
you might suggest for the solution?
Thanks for your time and consideration!
application. Specifically I plan to embed 3 textboxes into a toolbar; one
for LastName, another for FirstName, and one for CustomerID. When the user
starts typing into any of these textboxes I would like to pop up another
form that shows the user a dynamic list of the closest matches. The user can
then use the up- and down-arrow keys to select a customer from that pop up
form.
To see an example of similar ("close-but-not-quite") functionality, go to
http://www.thebusco.com/ and in the upper left-hand corner there is a
textbox with 'Enter Part Search Here'. Start typing 'air vent cover' to see
the behaviour in question. Yes, it's a Web application and I'm doing a
Windows Forms app, but it shows you the general idea of what I'm trying to
accomplish with Windows Forms.
Please note that I am familiar with the new 2.0 features: AutoCompleteMode,
AutoCompleteSource, and AutoCompleteCustomSource.
But those won't work for my situation because I'm *not* looking to simply
populate a textbox or a combo box from the list.
What I am needing to do is let the user select the customer for which info
is to appear in the currently active MDI form (and not only the control into
which they are typing). The idea is that the user starts typing into any one
of the 3 textboxes; as they type - the pop up window appears and shows the
closest matches. The user then hits the down arrow key a few times to select
the desired match, then hits Enter to (1) close the popup window, and (2)
trigger logic that shows the selected customer's info in the currently
active MDI form.
Note that I want to pop up another window [for the closest matches] so that
I can show the user many property values for the possible matches (and not
simply show them a list of names similar to the one they are searching, for
example).
What do you see as the biggest challenges in accomplishing this dynamic
search capability (and reasonable solutions)? What are the building blocks
you might suggest for the solution?
Thanks for your time and consideration!