Предотвращение отображения горизонтальной полосы прокрутки? (С #) - PullRequest
0 голосов
/ 12 ноября 2010

Есть ли способ (возможно, с P / Invoke) к гарантии , что горизонтальная полоса прокрутки никогда не появится в пользовательском контроле?Кажется, что даже когда для свойства autoscroll установлено значение false, оно иногда отображается.

Ответы [ 3 ]

0 голосов
/ 12 ноября 2010

На самом деле ваша форма устанавливает UserControl со старыми свойствами.

Так что вы должны сделать это

  • Сменить назад UserControl.AutoScroll=False;
  • Перестройте свое приложение
  • Перенастройте свой UserControl на место Old

Пояснение:
Когда вы перетаскиваете свой UserControl в это время, Дизайнер устанавливает свойства в FormDeginer ( проверьте ваш Deginer Form ) Теперь, после изменения свойств вашего UserControl и последующего добавления, он задается новыми свойствами для нового экземпляра Control, но не изменяет старые ...

0 голосов
/ 14 ноября 2010

Для некоторых элементов управления вы можете установить атрибут ScrollBars на то, что вы хотите.Это пример для расширенного текстового поля, которое может оказаться полезным (вы можете найти его для наследования) в наборе инициализации:

rtbText.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical

Для контейнеров вы можете использовать HScrollProperties, которыеустановите Enabled / Disabled для контейнеров.Например, чтобы на контейнере не было горизонтальной полосы прокрутки.

userControlInstance.HorizontalScroll.Enabled = False;
0 голосов
/ 12 ноября 2010

Вы пробовали: this.HorizontalScroll.Visible = false;?

...