Я новичок в .Net Compact Framework и не смог найти ответ через Google. Ага! Да, это правда, но именно поэтому StackOverflow здесь, верно?
У меня форма длиннее экрана, поэтому вертикальная полоса прокрутки отображается, как и ожидалось. Однако при этом появляется и горизонтальная полоса прокрутки. (Если я прокручу вправо, ничего не будет видно, кроме пробела ... размером с полосу прокрутки.)
Неужели это «особенность» неизбежна? У кого-нибудь есть опыт в этой области? Взаимодействие с другими людьми





Да, у меня есть опыт в этом вопросе - к сожалению, он ничем не отличался от вашего собственного. Я обычно избегал прокручиваемых форм и использовал разбиение на страницы везде, где это возможно, на .Net CF. Если это вариант для вас, я бы порекомендовал его.
Я предполагаю, что проблема с полосой прокрутки связана с тем, что размер формы фиксируется на ширине доступного экрана (независимо от настроек времени разработки), поэтому введение вертикальной полосы прокрутки скрывает часть (не требуется) полностью. ширина формы.
Поместите элементы управления на панель или эквивалент, а затем уменьшите ширину панели на размер вертикальной полосы прокрутки. Это означает, что когда появляется вертикальная полоса прокрутки, ей больше не потребуется горизонтальная полоса прокрутки, чтобы компенсировать потерю ширины, которую заняла вертикальная полоса прокрутки.
Вам необходимо использовать атрибут Anchor на элементах управления. Сделайте элемент управления привязанным к верхнему, левому и правому краям.
Когда для формы требуется вертикальная полоса прокрутки, элементы управления будут изменять размер вместо использования горизонтальной полосы прокрутки.
Также вам может быть проще поместить все элементы управления в панель. Сделайте Panel первым элементом управления, который вы добавляете в форму. Сделайте панель такой же большой, как форма, или ниже, чем ее нижняя часть, если вам нужно больше места. Установите якорь в верхнее, левое, правое положение. Установите для автопрокрутки значение true. На Форме отключите автопрокрутку.
Теперь поместите элементы управления в панель. Вам все равно нужно установить точки привязки на каждом из ваших элементов управления, иначе элемент управления Panel будет использовать горизонтальную полосу прокрутки и все упражнение будет бессмысленным. Это хороший метод, когда вам нужно использовать SIP (мягкую панель ввода), поскольку атрибут высоты панелей может быть изменен при изменении атрибута SIP.Enabled и предотвращает скрытие некоторых элементов управления SIP - это раздражает, когда нужно писать текст в текстовом поле, который вы не видите. Панель предоставит полосу прокрутки по мере необходимости.
Я бы сказал, что было бы неплохо поместить все элементы управления в Panel на форме, поскольку добавление их позже может быть головной болью, если SIP потребуется позже.