Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как запретить компоненту (UserControl) реагировать на фокус? / 9 сообщений из 9, страница 1 из 1
16.06.2015, 18:34
    #38985156
Nika gnome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить компоненту (UserControl) реагировать на фокус?
У меня кучка таких компонент лежит на форме (вернее, внутри контейнера, а-ля "проставьте галочки" - и каждая галочка отдельная, со своими особенностями).

Если компонент не влазит, то форма (или фрейм), на котором он лежит, начинает отображать линии прокрутки. Это клёво)

Но. При щелчке по этому компоненту мышкой, скролл автоматически прокручивается. В общем, дёргается нервно.
Можно сделать так, чтобы скролл вообще не двигался?
...
Рейтинг: 0 / 0
16.06.2015, 18:54
    #38985178
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить компоненту (UserControl) реагировать на фокус?
Nika gnomeЕсли компонент не влазит, то форма (или фрейм), на котором он лежит, начинает отображать линии прокрутки. Это клёво)
Это не клево. Поверьте, это жутко всех раздражает. :)
...
Рейтинг: 0 / 0
16.06.2015, 19:26
    #38985209
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить компоненту (UserControl) реагировать на фокус?
Nika gnome,
никогда не пользовался скроллами на форме.

Линии прокрутки это нормально для ListView, List и т.п. - когда количество данных в них заранее неясно.
Но не для 4-х чекбоксов.

Проектируйте так чтоб всегда влезало.
Минимальные, максимальные размеры формы, в .Net до фига инструментов, всякие там .Dock, Panels и т.п.
Даже resize-обработчиков особо писать не надо, в VB6 их надо было обычно писать до фига, чтоб прилично выглядело.

Да, еще шрифты учитывайте. Нормальные шрифты это системные Microsoft(либо MS) Sans Serif 8/ Tahoma 8 на XP и Segoe UI 9 на всем начиная с висты.
...
Рейтинг: 0 / 0
17.06.2015, 10:05
    #38985441
Nika gnome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить компоненту (UserControl) реагировать на фокус?
AxeleronNika gnomeЕсли компонент не влазит, то форма (или фрейм), на котором он лежит, начинает отображать линии прокрутки. Это клёво)
Это не клево. Поверьте, это жутко всех раздражает. :)
Да я это понимаю. Но там есть у меня боковая панелька с настройками. Я предусмотрела кнопочку её сокрытия. На ней всё помещается и удобно выглядит. Получается, слева - настройки, справа - отображаемая таблица.

Но иногда пользователи хотят уменьшить эту боковую панель, дабы увеличить размер таблицы. Тогда уже не всё в ней помещается и появляется полоса прокрутки.
Выглядит у меня панелька так: пиктограммка и галочка с пояснением.
И когда юзер тычет по галочке, то он, получается, ставит фокус на этот элемент и автоматически происходит прокручивание до этого элемента. И именно этот момент раздражает. Всё остальное устраивает))
(всё больше и больше понимаю, что нужно переделать всё в WPF, но это к тебе не относится)) )
...
Рейтинг: 0 / 0
17.06.2015, 10:13
    #38985450
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить компоненту (UserControl) реагировать на фокус?
Nika gnome, старайтесь придерживаться хорошего дизайна: не делайте прокруток, а тем более горизонтальных.
...
Рейтинг: 0 / 0
17.06.2015, 17:47
    #38986115
Nika gnome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить компоненту (UserControl) реагировать на фокус?
AxeleronNika gnome, старайтесь придерживаться хорошего дизайна: не делайте прокруток, а тем более горизонтальных.
эх, услышали бы вас в майкрософте, когда они "восьмёрку" делали...
...
Рейтинг: 0 / 0
17.06.2015, 17:57
    #38986139
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить компоненту (UserControl) реагировать на фокус?
Nika gnomeэх, услышали бы вас в майкрософте, когда они "восьмёрку" делали...
Я восьмерку мельком посмотрел и сразу снес. Поставил семерку
...
Рейтинг: 0 / 0
17.06.2015, 18:50
    #38986206
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить компоненту (UserControl) реагировать на фокус?
8.1 нормально сделана, ток. это это к вопросу отношения не имеет.

Nika gnome ,

поведение которое вы описали правильное.
Но если хотите извращаться (чего искренне не советую),
то попробуйте делать галки без надписи,
а Label делайте рядом отдельно (чтобы фокус чекбокса не захватывал надпись).
Тогда прыгать не будет, по крайней мере так явно и так далеко.
Ничего более "умного" в голову не приходит.
То что ито изврат, надеюсь понятно.
...
Рейтинг: 0 / 0
18.06.2015, 01:28
    #38986395
Nika gnome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить компоненту (UserControl) реагировать на фокус?
Дмитрий778.1 нормально сделана, ток. это это к вопросу отношения не имеет.

Nika gnome ,

поведение которое вы описали правильное.
Но если хотите извращаться (чего искренне не советую),
то попробуйте делать галки без надписи,
а Label делайте рядом отдельно (чтобы фокус чекбокса не захватывал надпись).
Тогда прыгать не будет, по крайней мере так явно и так далеко.
Ничего более "умного" в голову не приходит.
То что ито изврат, надеюсь понятно.
это-то понятно..
на самом деле, там поведение неправильное по той причине, что при наведении мышки я (в событиях MouseEnter и Leave) делаю шрифт полужирным.
И получается так, что как только указатель мышки проплывает над чекбоксом (никто никуда не щёлкает), то автоматически срабатывает прокрутка. И у меня, получается, всё самопроизвольно дёргается :(
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как запретить компоненту (UserControl) реагировать на фокус? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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