Понятно. Дело в том, что этим циклом вы "блокируете" программу. нужно использовать что-то типа потоков. т.е. перед циклом нужно создать новый поток(дочерний процесс) и в него поместить цикл. в итоге обработка идет в "отдельном слое" от основной программы и работа с формой не блокируется. Как это реализовать не знаю. С потоками не работал. но идея такова и в сети инфы много, надо пробовать...