Mam TextBox
z połączeniem zdarzenia TextChanged
. W końcu robi zapytanie do bazy danych SQL, więc chcę ograniczyć liczbę zapytań.Jak obsługiwać zdarzenie TextChanged tylko wtedy, gdy użytkownik przestaje pisać?
Chcę tylko wykonać zapytanie , jeśli użytkownik nie nacisnął klawisza w powiedz .. 300 milisekund lub więcej. Jeśli z jakiegoś powodu poprzednia kwerenda wciąż jest wykonywana, musiałbym to anulować, a następnie wydać nowe zapytanie.
Jest to metoda, której użyłem i działało idealnie. Zaskakująco nie otrzymuję żadnych wyjątków dotyczących aktualizacji interfejsu przez inny wątek? – esac
Zobacz http://msdn.microsoft.com/en-us/magazine/cc164015.aspx#S1. Krótka odpowiedź jest taka, że zdarzenie jest wykonywane w wątku UI. Ma to sens, biorąc pod uwagę, że znajduje się w przestrzeni nazw 'System.Windows.Forms'. – Brian
Należy zauważyć, że łącze do magazynu MSDN powyżej nie jest już linkiem bezpośrednim. Nadal możesz uzyskać do niego dostęp za pomocą [archive.org] (https://web.archive.org/web/20130219050936/http://msdn.microsoft.com/en-us/magazine/cc164015.aspx). Lub po prostu pobierz magazyn z lutego 2004 r. Z tej strony. Jeśli nie masz czytnika CHM, możesz uzyskać dostęp do artykułu, wyodrębniając plik CHM za pomocą 7zip i otwierając '/ MSDNMagazineFebruary2004en-us/TimersinNET/chm.htm' – Brian