Где-то в коде waitHandle используется для выполнения некоторых действий. Однако с помощью waithandle форма зависает в ожидании завершения какого-либо действия. Поэтому следующий код не будет работать:
frmProgressBar.show();
int successOrFail = PerformSynchronousActionUsingWaitHandle();
frmProgressBar.close();
frmMainScreen.show();
Это не сработает, так как вместо этого будет заморожен frmProgressBar.
Мне действительно нужно сохранить строку № 1, строку № 3 и строку № 4, но как мне переписать PerformSynchronousActionUsingWaitHandle () так, чтобы операция все еще была синхронной, а индикатор выполнения отображался. Возможно, мне удастся обойти это, показывая индикатор выполнения в другом потоке, но дизайн системы таков, что это будет очень грязно.