Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запретить переход фокуса на UserControl / 5 сообщений из 5, страница 1 из 1
26.11.2004, 17:37
    #32802024
Astakhov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить переход фокуса на UserControl
Есть некий класс который динамический создает интерфейс.
У класса есть UserControl.
Если его задали, то он рисуется на определенной панели.
UserControl должен просто показывать какие либо данные.
Проблема: Он ни под каким соусом не должен получать фокус.
Я понимаю, что можно всем контролам интерфейса замутить событие Validating и проверять: если Parent наш UserControl, то e.Cancel = true;

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

Что скажет купечество?
...
Рейтинг: 0 / 0
26.11.2004, 20:50
    #32802270
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить переход фокуса на UserControl
AstakhovЕсть некий класс который динамический создает интерфейс.
У класса есть UserControl.
Если его задали, то он рисуется на определенной панели.
UserControl должен просто показывать какие либо данные.
Проблема: Он ни под каким соусом не должен получать фокус.
Я понимаю, что можно всем контролам интерфейса замутить событие Validating и проверять: если Parent наш UserControl, то e.Cancel = true;

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

Что скажет купечество?
1 Попробовать положить его на контейнер, которому сказать Enabled=false
2 Если есть возможность, использовать для отображения контролы, к-е не могут получать фокус (Label)
...
Рейтинг: 0 / 0
27.11.2004, 15:27
    #32802531
Astakhov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить переход фокуса на UserControl
Так и сделал, но сам UserControl хватает фокус.
А по поводу Enabled=false, так и контролы на нем становятся в состояние Enabled=false
...
Рейтинг: 0 / 0
27.11.2004, 19:05
    #32802602
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить переход фокуса на UserControl
Да, если такая цепочка:
-Панель.Enabled=false,
-Прорисовался на нем UserControl
То он будет доступен.

Надо панели дать Enabled=false после прорисовки UserControl
Или дважды сменить Enabled
...
Рейтинг: 0 / 0
27.11.2004, 23:30
    #32802671
ctmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить переход фокуса на UserControl
Подписатся на..
Код: plaintext
1.
2.
3.
private void UserControl1_Enter(object sender, System.EventArgs e)
		{
			this.Parent.GetNextControl(this, true).Focus();
		}

В конструторе или дизайнере.
Код: plaintext
this.TabStop = false;

Помойму работает.
Ессно способ не очень краше устойчевый напрмер если второго контрола не будет но суть понятна. во всяком случае в атаче проэектик и работает ;))

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


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