У меня есть текстовое поле, которое отправляет некоторые команды на инструмент.Я добавил функцию автозаполнения в это текстовое поле, и теперь все становится проще.
Что я думаю, чтобы улучшить это, так это добавить возможность того, что когда пользователь вводит команду (просто текст), пока автозаполнение находит совпадениетакже показано описание этой команды.
На данный момент у меня есть все строки автозаполнения в текстовом файле, и я загружаю его при запуске приложения.Текстовый файл содержит такие строки:
*IDN? #Query the instrument for identification
*RST #Resets the instrument
Итак, что происходит в моем приложении, так это то, что поскольку автозаполнение находится в режиме SuggestAppend
, описание команды также попадает в текстовое поле (это будет то же самое, еслиЯ только помещаю его в режим Suggest
)
Что мне нужно знать, это как заставить автозаполнение добавлять текст, в то время как его
- не добавляет текст, начинающийся с
#
char при добавлении предложенного текста - Обрезать () текст, чтобы избежать пробелов, которые вы видите в источнике текстового файла
UPDATE 1 Хорошо, я думаюединственный способ - создать новый класс и наследовать от AutoCompleteStringCollection
. И в этом новом классе каким-то образом переопределить ответственный метод для возврата (добавления) предложенного текста.Я действительно понятия не имею, что мне делать:
class MyAutoCompleteCollection : AutoCompleteStringCollection
{
//How to override Get function of AutoCompleteStringCollection class?
//It is not avilable to override :(
}
ОБНОВЛЕНИЕ 2 Я обнаружил, что методы в AutoCompleteStringCollection
не могут быть переопределены.Я ищу способ изменить метод []
(если честно, я не знаю, как его назвать!).Кто-нибудь имеет какое-либо представление об этом?

ОБНОВЛЕНИЕ 3 Когда текст без #DESC входит в текстовое поле, у меня есть обработчик событий для KeyDown, которыйпередаст команду на инструмент.