Если проблема, которую вы пытаетесь решить, состоит в длинных вычислениях и вы хотите, чтобы пользовательский интерфейс реагировал, то одна из возможностей - часто вызывать функцию DoEvents
в ваших длинных вычислениях. Таким образом, ваша программа может обрабатывать любые сообщения Windows, и, таким образом, пользовательский интерфейс будет реагировать на пользовательские команды. Вы также можете настроить кнопку Отмена, чтобы сообщить вашему процессу о том, что он должен завершиться.
Если вы сделаете это, вам нужно будет осторожно отключить все элементы управления, которые могут вызвать проблему, например, запустить длинный процесс во второй раз после его запуска.