Я создаю DropDownItems для ToolStripDropDownButton программным способом.Первое поле всегда ToolStripTextBox (в которое пользователи могут вводить, чтобы отфильтровать следующие элементы).Я хочу, чтобы ToolStripTextBox имел фокус, как только раскрывающийся список открывается, чтобы пользователь мог:
- Нажмите на ToolStripDropDownButton
- Начните вводить (для фильтрации элементов)
Однако, когда я пытаюсь сосредоточиться на ToolStripTextBox (в обработчике события DropDownOpened):
Dim v As ToolStripTextBox = DirectCast(tsbForms.DropDownItems(0), ToolStripTextBox)
Me.ActiveControl = v.Control
Я получаю исключение:
System.ArgumentException: 'Invisible or disabled control cannot be activated'
Вот снимок экранараскрывающегося списка, чтобы вы могли видеть, о чем я говорю:
![enter image description here](https://i.stack.imgur.com/bcaQN.jpg)
В настоящее время текстовое поле вверху не имеет фокуса, и вы должныщелкните по нему, прежде чем вы сможете начать вводить фильтр.
К вашему сведению, я пытался проверить видимость ToolStripTextBox перед установкой ActiveControl, и в этом случае значение True.Я попытался выполнить операцию несколько других событий и получил тот же результат.