У меня есть вид дерева на левой стороне. При выборе узла соответствующая информация отображается в форме справа.
Смогу ли я держать дерево и любой элемент управления (текстовое поле, поле со списком, флажок) одновременно в центре внимания? Это позволит пользователю выбрать поле, внести изменения, выбрать другой узел и без необходимости возвращаться и снова выбирать то же поле, просто введите и измените значение того же поля.
Thanx.
РЕДАКТИРОВАТЬ
Я полагаю, можно было бы реализовать такое поведение вручную:
private Control __cFocus;
private void {anyControl}_Focus(object sender, EventArgs e)
{
__cFocus = (Control)sender;
}
private void treeView1_AfterSelect(object sender, EventArgs e)
{
__cFocus.Focus();
}
Мне просто интересно, существует ли автоматическое / более элегантное решение
РЕДАКТИРОВАТЬ 2
Итак, похоже, мне придется реализовать это вручную. Ручная реализация именно тогда. Тем не менее, теперь, кажется, есть другая проблема; не уверен, стоит ли мне задавать это как отдельный вопрос.
При выборе узла текстовое поле получает фокус, как и предполагалось, но только при использовании клавиатуры. Это не работает при выборе узла с помощью мыши. Сначала я подумал, что это может быть событие мыши, которое мешает, но пошаговое обнаружение показало, что сначала срабатывает событие MouseUp
, а затем событие AfterSelect
, которое устанавливает фокус, поэтому я не думаю, что оно мешает. Событие Enter
текстового поля также вызывается, но по какой-то причине оно снова теряет фокус на дереве.
Thanx