Полосы прокрутки .Net Compact Framework - горизонтальные всегда отображаются, когда отображаются вертикальные

Я новичок в .Net Compact Framework и не смог найти ответ через Google. Ага! Да, это правда, но именно поэтому StackOverflow здесь, верно?

У меня форма длиннее экрана, поэтому вертикальная полоса прокрутки отображается, как и ожидалось. Однако при этом появляется и горизонтальная полоса прокрутки. (Если я прокручу вправо, ничего не будет видно, кроме пробела ... размером с полосу прокрутки.)

Неужели это «особенность» неизбежна? У кого-нибудь есть опыт в этой области? Взаимодействие с другими людьми

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
4 554
3

Ответы 3

Да, у меня есть опыт в этом вопросе - к сожалению, он ничем не отличался от вашего собственного. Я обычно избегал прокручиваемых форм и использовал разбиение на страницы везде, где это возможно, на .Net CF. Если это вариант для вас, я бы порекомендовал его.

Я предполагаю, что проблема с полосой прокрутки связана с тем, что размер формы фиксируется на ширине доступного экрана (независимо от настроек времени разработки), поэтому введение вертикальной полосы прокрутки скрывает часть (не требуется) полностью. ширина формы.

Поместите элементы управления на панель или эквивалент, а затем уменьшите ширину панели на размер вертикальной полосы прокрутки. Это означает, что когда появляется вертикальная полоса прокрутки, ей больше не потребуется горизонтальная полоса прокрутки, чтобы компенсировать потерю ширины, которую заняла вертикальная полоса прокрутки.

Вам необходимо использовать атрибут Anchor на элементах управления. Сделайте элемент управления привязанным к верхнему, левому и правому краям.

Когда для формы требуется вертикальная полоса прокрутки, элементы управления будут изменять размер вместо использования горизонтальной полосы прокрутки.

Также вам может быть проще поместить все элементы управления в панель. Сделайте Panel первым элементом управления, который вы добавляете в форму. Сделайте панель такой же большой, как форма, или ниже, чем ее нижняя часть, если вам нужно больше места. Установите якорь в верхнее, левое, правое положение. Установите для автопрокрутки значение true. На Форме отключите автопрокрутку.

Теперь поместите элементы управления в панель. Вам все равно нужно установить точки привязки на каждом из ваших элементов управления, иначе элемент управления Panel будет использовать горизонтальную полосу прокрутки и все упражнение будет бессмысленным. Это хороший метод, когда вам нужно использовать SIP (мягкую панель ввода), поскольку атрибут высоты панелей может быть изменен при изменении атрибута SIP.Enabled и предотвращает скрытие некоторых элементов управления SIP - это раздражает, когда нужно писать текст в текстовом поле, который вы не видите. Панель предоставит полосу прокрутки по мере необходимости.

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

Другие вопросы по теме