Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Определение активного контрола / 5 сообщений из 5, страница 1 из 1
12.02.2013, 16:43
    #38148139
Dim@sty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение активного контрола
Всем доброе время суток.

Есть вин форма, в ней два UserControl. Можно ли как то узнать об изменении фокуса с одного контрола на другой?

Пробовал через new Control ActiveControl{get;set;}...не помогает. При изменении свойства сеттер не срабатывает

С/У DIM@STY
...
Рейтинг: 0 / 0
12.02.2013, 17:04
    #38148184
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение активного контрола
Dim@sty,

Control.GotFocus
...
Рейтинг: 0 / 0
12.02.2013, 19:24
    #38148442
Dim@sty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение активного контрола
GotFocus сработает только в случае отсутствия дочерних контролов в UserControl, в остальных случаях он передаст фокус на дочерние элементы..текст-боксы и т.д

Каша какая то в голове...Да и задача вроде не сложная.

Объект формы, на которой лежит два UserControl, должна оповестить другой объект о том, что пользователь закончил работу с контролами, которые лежат в UserControl1 и преступил к контролам, которые лежат в UserControl2....

На совсем крайний случай можно конечно ловить фокус текст боксов и сообщать ParentForm о активности this в данный момент........но это потом проблем не оберешься..

Может есть еще какие мысли?
...
Рейтинг: 0 / 0
13.02.2013, 13:25
    #38149355
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение активного контрола
Dim@styGotFocus сработает только в случае отсутствия дочерних контролов в UserControl, в остальных случаях он передаст фокус на дочерние элементы..текст-боксы и т.д

Каша какая то в голове...Да и задача вроде не сложная.

Объект формы, на которой лежит два UserControl, должна оповестить другой объект о том, что пользователь закончил работу с контролами, которые лежат в UserControl1 и преступил к контролам, которые лежат в UserControl2....

На совсем крайний случай можно конечно ловить фокус текст боксов и сообщать ParentForm о активности this в данный момент........но это потом проблем не оберешься..

Может есть еще какие мысли?

не все контролы могут получить фокус
CanFocus показывает это
UserControl фокус получить не может
подписывайся на GotFocus дочерних контролов
...
Рейтинг: 0 / 0
15.02.2013, 00:06
    #38152107
SharpDeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение активного контрола
Для получения активного контрола использую
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        private Control GetActiveControl(Control control)
        {
            if (control is ContainerControl)
            {
                var tmp = GetActiveControl(((ContainerControl)control).ActiveControl);
                if (tmp != null)
                {
                    return tmp;
                }
            }
            return control;
        }

,
а дальше можно запоминать текущий активный контрол в переменной и мониторить её изменение.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Определение активного контрола / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]