Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
18 / 18 / 8
Регистрация: 24.01.2014
Сообщений: 92

Синхронная прокрутка нескольких TextBox

10.05.2015, 18:59. Показов 1730. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Серьёзный вопрос, в гугл не отправлять, только что оттуда.

Собственно нужно добавить вертикальный скроллинг для TextBox. Не встроенный в TextBox, а именно внешний
Кликните здесь для просмотра всего текста

VB.NET
1
2
3
4
5
6
7
8
9
10
11
Private Sub VScrollBar1_ValueChanged(sender As Object, e As EventArgs) Handles VScrollBar1.ValueChanged
        Dim r, a, b As Integer
        r = VScrollBar1.Maximum - VScrollBar1.Minimum
 
        a = TextBox1.Lines.Length
        b = TextBox2.Lines.Length
 
        'переводит каретку, но не листает строки
        TextBox1.SelectionStart = a * VScrollBar1.Value / r
        TextBox2.SelectionStart = b * VScrollBar1.Value / r
End Sub


Собственно в данный момент удалось нашаманить этот код, но он не делает того что нужно. Его главное свойство перемещать каретку, но с передвижением каретки сами строки текста не двигаются.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.05.2015, 18:59
Ответы с готовыми решениями:

Синхронная прокрутка в двух RichTextBox
Всем доброго времени суток! Помогите с решением, пожалуйста! На форме два ричтекстбокса. Нужно организовать синхронное...

Автоматическая прокрутка TextBox'а
Вот я в TextBox ввожу программно данные: txtLog.Text = txtLog.Text & vbCrLf & "Connecting..." Данных много набирается и хотелось бы,...

Одновременная прокрутка элементов в нескольких ListBox
Visual Basic 2008. Здравствуйте. Очень нужна помощь - по создаваемому проекту возникла претензия. Нужно сделать так, чтобы в...

12
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
10.05.2015, 19:02
Помещаешь текстбокс в любой контейнер и если высота бубет больше чем у контейнера - появится прокрутка.
0
18 / 18 / 8
Регистрация: 24.01.2014
Сообщений: 92
10.05.2015, 21:28  [ТС]
А если как-то переходить к каретке. Я понимаю, что в vb нет наследования, но как-то можно доступиться до приватных полей scrollbars?
Просто засунуть в панель как-то некультурно.
0
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
10.05.2015, 22:20
Цитата Сообщение от wlada Посмотреть сообщение
Я понимаю, что в vb нет наследования
С чего бы это вдруг?
Цитата Сообщение от wlada Посмотреть сообщение
но как-то можно доступиться до приватных полей scrollbars?
Во-первых, зачем? А во-вторых, какое это имеет отношение к наследованию? Приватные поля в производных классах не видны.
Цитата Сообщение от wlada Посмотреть сообщение
Просто засунуть в панель как-то некультурно.
Это зависит от задачи. Мне не очень понятно для чего может понадобиться скроллбар, но при этом почему-то родной скроллбар не устраивает, а нужен внешний. Внешний, в моем понимании - это и есть скроллбар контейнера.
Ну, а так, если ты сформулируешь задачу более конкретно, то можно будет подумать, что еще можно предпринять. Я, например, по формулировке вопроса не вполне понял, что значит вертикальный скроллинг, который надо добавить. Если речь о программной прокрутке, то тут, насколько я знаю, у текстбокса возможности ограничены. Но вот у контролов наследующий ConainerControl, есть свойства VerticalScroll и HorisontalScroll, возвращающие объекты, с помощью который можно управлять прокруткой. Но в этом случае опять-таки придется размещать текстбокс в контейнер, чтобы воспользоваться этими возможностями. А вообще, ручное управление прокруткой - дело довольно запарное. Так что стоит хорошо подумать, прежде чем заниматься этим.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
10.05.2015, 22:29
Может стоит вызвать метод ScrollToCaret у TextBox?
0
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
10.05.2015, 22:36
Цитата Сообщение от diadiavova Посмотреть сообщение
Но вот у контролов наследующий ConainerControl
ScrollableControl. Ошибся малость
Цитата Сообщение от Someone007 Посмотреть сообщение
Может стоит вызвать метод ScrollToCaret у TextBox?
Прокручивать, передвигая каретку, после чего вызывая прокрутку к каретке - это уже совсем некультурно, имхо.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
10.05.2015, 22:46
Цитата Сообщение от diadiavova Посмотреть сообщение
Прокручивать, передвигая каретку, после чего вызывая прокрутку к каретке - это уже совсем некультурно, имхо.
Ну вас же чем-то встроенный в TextBox ScrollBar не устраивает... Изобретаете велосипед.
0
18 / 18 / 8
Регистрация: 24.01.2014
Сообщений: 92
10.05.2015, 23:48  [ТС]
Есть псевдотаблица из нескольких документов


Всё это разбито на файлы с разными данными, мне нужно чтобы все документы листались одновременно и соответствовали друг-другу.
0
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
10.05.2015, 23:54
Цитата Сообщение от wlada Посмотреть сообщение
мне нужно чтобы все документы листались одновременно и соответствовали друг-другу.
Ну так тогда тем более надо разместить их в общий контейнер и пролистывать его. А еще лучше - в контейнер поместить таблицу, в таблицу текстбоксы. В контейнере появится прокрутка, если содержимое будет выходить за пределы его границ, ну и соответственно, если свойство ScrollBars будет иметь правильное значение.
0
18 / 18 / 8
Регистрация: 24.01.2014
Сообщений: 92
11.05.2015, 00:18  [ТС]
Цитата Сообщение от diadiavova Посмотреть сообщение
Ну так тогда тем более надо разместить их в общий контейнер и пролистывать его. А еще лучше - в контейнер поместить таблицу, в таблицу текстбоксы. В контейнере появится прокрутка, если содержимое будет выходить за пределы его границ, ну и соответственно, если свойство ScrollBars будет иметь правильное значение.
Попробую, но видимо уже завтра, что-то у меня не работает ничего. TextBox'ы размер не меняют и соответственно скроллинг не работает
0
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
11.05.2015, 00:21
Цитата Сообщение от wlada Посмотреть сообщение
TextBox'ы размер не меняют
Ну, если использовались свойства Dock или Anchor для компановки, то такое вполне может быть. Но если все их разместить в таблицу, как я писал раньше, то их как раз можно залить в ячейки, а высоту задавать уже самой таблице.
0
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
11.05.2015, 00:28
Вот что я имею в виду
Вложения
Тип файла: rar textboxscroll.rar (71.8 Кб, 25 просмотров)
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4358 / 3428 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
11.05.2015, 06:51
а что мешает использовать таблицу или на хуйдой конец ListBox'ы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.05.2015, 06:51
Помогаю со студенческими работами здесь

Автосумма нескольких TextBox
Помогите, пожалуйста, корифеи программирования! Можно ли в visual basic 2008 сделать так, чтобы значения нескольких textboxов суммировались...

Считать строку из нескольких TextBox-ов
Приветствую! Пишу программку вот тут скрин окошка. мне надо считать данные из нескольких текстбоксов (txt11, txt12, txt21, txt22,...

Автоматические вычисления в нескольких TextBox
Помогите начинающему. Допустим, на форме имеется 2 textbox'а. Как сделать числовые значения в них взаимовычислимыми при вводе в одно из них.

Проверка нескольких TextBox на пустоту
Как осуществить проверку нескольких полей на пустую строку? Я попробовал так For k As Integer = 1 To 6 If...

Проверка нескольких TextBox сразу
Есть ли возможность проверить одновременно несколько TextBox-ов для выполнения условия? допустим у меня функция выполнится, если все поля...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru