В настоящее время вся ваша обработка выполняется в основном потоке (UI), поэтому вся обработка должна завершиться до того, как поток пользовательского интерфейса будет иметь свободные циклы для перерисовки пользовательского интерфейса.
У вас есть 2 способа преодоления этого. Первый способ, который не рекомендуется, - использовать Application.DoEvents();
Запустить это, когда вы хотите, чтобы очередь сообщений Windows обрабатывалась.
Другой, рекомендуемый способ: Создайте еще один поток для обработки, и использовать делегат для передачи обновлений пользовательского интерфейса обратно в поток пользовательского интерфейса. Если вы новичок в многопоточной разработке, попробуйте BackgroundWorker попробовать.
encodeURI () - Escape () функция для выхода JavaScript, не HTTP.
Также помните, что они все кодируют различные наборы символов и выбирают тот, в котором Вы нуждаетесь соответственно. encodeURI () кодирует меньше символов, чем encodeURIComponent (), который кодирует меньше (и также отличающийся к точке dannyp) символы, чем Escape ().