Используйте BackgroundWorker или Threadpool.QueueUserWorkItem для вызовов веб-службы, а затем обновите графический интерфейс.Ваше приложение замедляется, потому что вы вызываете веб-сервис из основного потока пользовательского интерфейса, поэтому ваше приложение не может обрабатывать другие события, пока не завершится вызов веб-сервиса, который включает перерисовку, изменение размера, щелчки ...
См. Этот документ: http://msdn.microsoft.com/en-us/library/ms951089.aspx
Хотите обновить немедленно, вызвав удаленный ресурс?Боюсь, что это невозможно, если мы не сбросим один из законов термодинамики и не допустим путешествий во времени.
НО вы можете обманывать и предварительно выбирать ваши данные и связывать их за кулисамикаждые XXX секунды.
Не забудьте использовать BeginUpdate
и EndUpdate
при обновлении сетки, чтобы не было мерцания.