Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

Войти
Регистрация
Восстановить пароль
 
Bill77
0 / 0 / 0
Регистрация: 23.09.2015
Сообщений: 43
#1

Праметры скролла - C#

15.10.2015, 10:08. Просмотров 718. Ответов 10
Метки нет (Все метки)

Использую на форме вертикальный скролл. Проблема в том, что я не могу корректно задать ему размеры. То есть промотать надо 100 пикселей, к примеру, а выглядит скролл так, как будто мотать надо гораздо дольше.
Подскажите как можно его корректно настроить?
Или другой вариант, не использую на форме AutoScroll так как при появлении вертикального скролла появляется и горизонтальный, который мне не нужен. Отключить горизонтальный скролл не получилось, как и скрыть его с показа.
Можно ли как-то изменить автоскролл?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2015, 10:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Праметры скролла (C#):

Зависает ползунок скролла в листбоксе - C#
Сдал программу на 99%, проблема в том, что при гененерации и выводе 100000 и более элементов в массиве, скролл (ползунок) работает...

Как переделать стиль скролла - C#
Как изменить боковой скроллинг Допстим так

Прокрутка скролла колесом мыши - C#
Добрый вечер. У меня возникла следующая проблема... Сделал прокрутку скролла колесом мыши, а она работает, только если зажать CTRL ...

Как можно "заморозить" ListView при прокрутке скролла? - C#
Добрый день! Контрол Listview работает в виртуальном режиме, с добавлением данных в режиме реалтайм, при прокрутке скрола строки не...

Праметры графиков - MathCAD
Установил себе MathCad 15. Обнаружил, что при настройке представления графиков я не могу указать параметры (толщину наименование и т.д.) ...

Формальные праметры в процедуре - Pascal ABC
1. В каких пределах и какие числа получаются с помощью данной формулы Random (100)\10???? 2.Что такое формальные праметры в процедуре,...

10
UrrreeeZ
1 / 1 / 0
Регистрация: 29.10.2012
Сообщений: 31
15.10.2015, 14:25 #2
Цитата Сообщение от Bill77 Посмотреть сообщение
Использую на форме вертикальный скролл. Проблема в том, что я не могу корректно задать ему размеры. То есть промотать надо 100 пикселей, к примеру, а выглядит скролл так, как будто мотать надо гораздо дольше.
Подскажите как можно его корректно настроить?
задать меньшее значение свойству Maximum
Цитата Сообщение от Bill77 Посмотреть сообщение
Или другой вариант, не использую на форме AutoScroll так как при появлении вертикального скролла появляется и горизонтальный, который мне не нужен. Отключить горизонтальный скролл не получилось, как и скрыть его с показа.
Можно ли как-то изменить автоскролл?
если я вас правильно понял, свойство ScrollBars вам поможет
0
Bill77
0 / 0 / 0
Регистрация: 23.09.2015
Сообщений: 43
15.10.2015, 14:28  [ТС] #3
Цитата Сообщение от UrrreeeZ Посмотреть сообщение
задать меньшее значение свойству Maximum
Проблема в том, что именно его менять весьма проблемно. Если уменьшить максимум, скролл будет не до конца прокручиваться, то есть не всё отображать.
Цитата Сообщение от UrrreeeZ Посмотреть сообщение
если я вас правильно понял, свойство ScrollBars вам поможет
Свойство у панели? Сейчас попробую.
0
UrrreeeZ
1 / 1 / 0
Регистрация: 29.10.2012
Сообщений: 31
15.10.2015, 14:38 #4
Цитата Сообщение от Bill77 Посмотреть сообщение
Проблема в том, что именно его менять весьма проблемно. Если уменьшить максимум, скролл будет не до конца прокручиваться, то есть не всё отображать.
Привяжите дельту к максимуму
0
Bill77
0 / 0 / 0
Регистрация: 23.09.2015
Сообщений: 43
15.10.2015, 14:40  [ТС] #5
Цитата Сообщение от Bill77 Посмотреть сообщение
Свойство у панели? Сейчас попробую.
В общем нет у панели такого свойства, оно только у веб форм. Если что, я пишу только в win forms.

Добавлено через 2 минуты
Цитата Сообщение от UrrreeeZ Посмотреть сообщение
Привяжите дельту к максимуму
А можно чуть подробнее? Как это сделать?
0
UrrreeeZ
1 / 1 / 0
Регистрация: 29.10.2012
Сообщений: 31
15.10.2015, 14:45 #6
Покажите код, в котором осуществляется взаимодействие со скроллом
0
Bill77
0 / 0 / 0
Регистрация: 23.09.2015
Сообщений: 43
15.10.2015, 14:48  [ТС] #7
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void DetermineGroupBoxHeight()//9896
        {
            int changeHeight = Math.Max(this.prefix.Height, this.postfix.Height);
            DetermineMarkerCoordY(changeHeight);
            this.gbLocation.Height = this.markerForList.Location.Y + this.markerForList.Height + 8;
            this.vScrollBar1.Minimum = 0;
            this.vScrollBar1.SmallChange = 16;
            this.vScrollBar1.Maximum = (this.gbLocation.Height - this.middlePanel.Height)*40;
            if (this.vScrollBar1.Maximum == 0)
                this.vScrollBar1.Visible = false;
            else
                this.vScrollBar1.Visible = true;
        }
 
private void vScrollBar1_ValueChanged(object sender, System.EventArgs e)//9896
        {
            this.gbLocation.Top = -this.vScrollBar1.Value/40;
        }
 
void vScrollBar1_MouseWheel(object sender, MouseEventArgs e)
        {
            if (e.Delta > 0)
            {
                this.vScrollBar1.Value -= 2*this.vScrollBar1.SmallChange;
            }
            else
            {
                this.vScrollBar1.Value += 2*this.vScrollBar1.SmallChange;
            }
        }
0
UrrreeeZ
1 / 1 / 0
Регистрация: 29.10.2012
Сообщений: 31
15.10.2015, 14:54 #8
C#
1
2
3
4
private void vScrollBar1_ValueChanged(object sender, System.EventArgs e)//9896
        {
            this.gbLocation.Top = -this.vScrollBar1.Value * this.gbLocation.Height / vScrollBar1.Maximum;
        }
0
Bill77
0 / 0 / 0
Регистрация: 23.09.2015
Сообщений: 43
15.10.2015, 15:00  [ТС] #9
Совсем не то, результат одинаков.
0
Storm23
Эксперт .NETАвтор FAQ
5432 / 3289 / 1003
Регистрация: 11.01.2015
Сообщений: 4,366
Записей в блоге: 27
15.10.2015, 15:56 #10
Цитата Сообщение от Bill77 Посмотреть сообщение
Отключить горизонтальный скролл не получилось, как и скрыть его с показа.
Для отключения горизонтального скролла, вставьте в ваше форму:
C#
1
2
3
4
5
6
7
8
9
10
        const int SB_HORZ = 0;
 
        [DllImport("user32.dll")]
        static extern bool ShowScrollBar(IntPtr hWnd, int wBar, bool bShow);
 
        protected override void OnResize(EventArgs e)
        {
            base.OnResize(e);
            ShowScrollBar(this.Handle, SB_HORZ, false);
        }
0
Bill77
0 / 0 / 0
Регистрация: 23.09.2015
Сообщений: 43
16.10.2015, 13:47  [ТС] #11
Цитата Сообщение от Storm23 Посмотреть сообщение
Для отключения горизонтального скролла, вставьте в ваше форму:
Может я как-то не так использую, но не сработало.
0
16.10.2015, 13:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2015, 13:47
Привет! Вот еще темы с ответами:

Как указать ети праметры в коде? - C++ Builder
Доброго времени суток! Ребята как мне в коде указать ети параметры подскажитье ктото (на рисунке показано! прямо так я не смог найти)....

Отключение скролла - JavaScript
Делаю сайт с электронными книгами, при перелистывании страницы скролл перекидывает на верх и становится довольно таки не удобно листать...

Стилизация скролла - jQuery
Доброго времени суток! Нужно стилизовать скролл, сделать его подходящим под дизайн - взять с макета. Каким плагином это лучше сделать. Или...

TListView отображение скролла - Delphi
Привет. Как сделать чтобы в TListView (report), вертикальный скролл отображался всегда. Спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.