Передача фокуса после закрытия дополнительной формы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Передача фокуса после закрытия дополнительной формы

Сообщение Space » 25.02.2007 (Вс) 23:51

У меня вызывается дополнительная форма в модальном режиме Form2.Show vbModal - после её закрытия фокус передаётся непонятно по какому принципу. Как передать фокус тому контролу, который его имел до вызова дополнительной формы, без передачи фокуса ненужному контролу?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.02.2007 (Пн) 0:00

Очевидно, запомнить этот контрол перед вызовом формы?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Сообщение Space » 26.02.2007 (Пн) 0:20

да, запомнить его можно и потом передать ему фокус, но перед этим форма после закрытия передаст фокус куда не нужно совсем. Неужели нет флага при вызове формы Передать фокус контролу, что его имел до вызова?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 26.02.2007 (Пн) 0:34

Нет :)

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Сообщение Space » 26.02.2007 (Пн) 1:12

что же тогда делать?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.02.2007 (Пн) 1:14

Space писал(а):и потом передать ему фокус
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Сообщение Space » 26.02.2007 (Пн) 2:21

ладно, тогда хоть скажите, по какому принципу устанавливается фокус после закрытия доп. формы?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.02.2007 (Пн) 9:40

Фокус без причины не меняется.
Причиной может быть активация другого элемента пользователем. Причиной может быть SetFocus. Причиной может быть недоступность элемента (Enabled=False, Visible=False), при этом фокус получает элемент со следующим TabIndex и TabStop=True.
Если у тебя после закрытия модальной формы фокус родительского окна меняется, то причина в твоем коде. Ставь отладочный вывод Debug.Print в событиях GotFocus и LostFocus и ищи причину.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 110

    TopList