Как да отделя действието тип textBox1 и да използвам textBox1.Text за получаване на низ от интернет?

Пиша код, който, когато въвеждам textBox1, моята WinForm изпраща textBox1.Text към уеб сървър, той обработва текста, върнатият низ се показва като подсказка.

Проблемът ми е, че когато напиша знак в textBox1, не мога да напиша следващия знак, докато не отговоря уеб сървърът. Опитах с textBox1.KeyDown, textBox1.KeyUp и textBox1.TextChanged, но изглежда не ми помагат да разреша този проблем.

Искам, когато въвеждам textBox1, да не бъда засегнат от действието за получаване на низ от сървъра.

Има ли някакъв начин да се отдели действието тип и да се получи сървър за текстова форма? Благодаря ти много.

[Извинете за лошия английски]


person Tuyen Pham    schedule 11.10.2012    source източник


Отговори (1)


Вие блокирате нишката на потребителския интерфейс, докато извличате данните от сървъра. Трябва да получите тези данни в отделна нишка. Вижте: http://msdn.microsoft.com/en-us/library/ms229675.aspx

person Johnny Mopp    schedule 11.10.2012
comment
Имам някакво подозрение, че програмата на TuyenTk се опитва да получи отговор всеки път, когато текстовото поле се промени. Ако случаят е такъв, ще има доста голямо натрупване на отговори в зависимост от дължината на въведения текст. - person Ichabod Clay; 11.10.2012
comment
да В неговата dl нишка той ще има нужда от малко забавяне, преди да започне изтеглянето. След това, ако бъде ударен друг клавиш по време на това забавяне, първата заявка може да бъде прекратена и да започне нова (със същото предварително забавяне). - person Johnny Mopp; 11.10.2012