Вы пытались использовать SendKeys.SendWait . Это будет ждать, пока ключ не будет отправлен, и действие обработано, прежде чем активировать.
Поскольку окна находятся в вашем собственном приложении, почему бы не предоставить набор функций для выполнения действий вместо использования SendKeys. Функции могут создавать окно после того, как окна созданы и активны, которые вы можете обнаружить, обработав событие Активировано , затем вы можете использовать SendKeys для отправки нажатий клавиш в новое окно, если вам действительно нужно, в противном случае снова есть функции в классе окна, которые вы можете вызывать для выполнения операций, которые будут вызывать нажатия клавиш. Возможно, вы могли бы определить общий интерфейс , который реализован в ваших окнах для облегчения этого взаимодействия.