По моему опыту, я всегда получал эту ошибку, когда элемент управления, на который я пытался установить фокус, был 1) не виден или 2) не включен .Я предполагаю, что вы уже проверили их, но стоило бы дважды проверить во время выполнения, когда вы получите сообщение об ошибке (особенно если вы сказали, что вы перетасовываете элементы управления во время выполнения).
Я использую метод .SetFocusдовольно регулярно без проблем.Я не помню, чтобы когда-либо получал сообщение об ошибке при настройке фокуса на элемент управления, который уже имеет его, как сказал Рему в своем ответе.
Я полагаю, что есть и третий случай, который возникает, если вы попытаетесь установить фокус на элемент управления в верхнем / нижнем колонтитуле формы формы bound , которая имела все его записи отфильтрованы .Я знаю, что эта ситуация приводит к «исчезновению» содержимого в несвязанном комбинированном окне, но я думаю, что это может также нанести ущерб методу SetFocus.Если вы открываете форму в режиме ввода данных, это не должно вызывать проблем.