Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
2 / 2 / 2
Регистрация: 06.11.2014
Сообщений: 36
1

Как выполнить скроллинг в RichTextBox используя внешний компонент

29.09.2016, 13:06. Показов 679. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Например, с помощью TrackBar.
Попробовал использовать ScrollToCaret(): текст скроллится, ползунок скроллбара двигается, но положения ползунков компонентов не совпадают, есть подергивания, все криво, то ли от неверных вычислений, то ли от в корне неверного подхода в методах... Как правильно реализовать?
C#
1
2
3
4
5
6
double val = TrackBar1.Value;
double persent = val/TrackBar1.Height*100;
double len = RichTextBox1.TextLength;
len = len/100;
RichTextBox1.SelectionStart = persent*len;
RichTextBox1.ScrollToCaret();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2016, 13:06
Ответы с готовыми решениями:

Как сделать синхронный скроллинг двух RichTextBox
Пушу свой блокнот, для редактирования кода. Не как не могу сделать так чтобы RichTextBox в котором...

Не работает программный скроллинг в richTextBox
Собственно следующий код реализует только когда мышкой тянишь скрол-полоску, и работает только...

используя компонент Edit, выполнить следующие действия
ввести последовательность символов предшествующих символу "*" и выяснить сколько среди них букв...

RichTextBox, FlowDocument и скроллинг
Здравствуйте. Немного предыстории. Я немного отдаленный от WPF, занимаюсь разработкой WinForms...

2
157 / 156 / 104
Регистрация: 01.10.2015
Сообщений: 310
29.09.2016, 14:42 2
Rog-Vik, вот Вам почва для размышления:
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
31
32
33
34
35
36
37
38
39
40
41
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
 
    private void button2_Click(object sender, EventArgs e)
    {
        myClass1.SetScroll();
    }
}
 
public class MyClass : RichTextBox
{
    private const int SB_LINEUP = 0;
    private const int SB_LINELEFT = 0;
    private const int SB_LINEDOWN = 1;
    private const int SB_LINERIGHT = 1;
    private const int SB_PAGEUP = 2;
    private const int SB_PAGELEFT = 2;
    private const int SB_PAGEDOWN = 3;
    private const int SB_PAGERIGTH = 3;
    private const int SB_PAGETOP = 6;
    private const int SB_LEFT = 6;
    private const int SB_PAGEBOTTOM = 7;
    private const int SB_RIGHT = 7;
    private const int SB_ENDSCROLL = 8;
 
    public void SetScroll()
    {
        Message m = new Message()
        {
            Msg = 0x0115, //WM_VSCROLL
            HWnd = Handle,
            LParam = IntPtr.Zero,
            WParam = new IntPtr(SB_PAGEDOWN),
        };
        WndProc(ref m);
    }
}
1
2 / 2 / 2
Регистрация: 06.11.2014
Сообщений: 36
29.09.2016, 16:22  [ТС] 3
BroDMax, а откуда это - можно где-то почитать? Потому как новичок, и смутно представляю как я могу это использовать. Тем более с классами вообще не работал.
0
29.09.2016, 16:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2016, 16:22
Помогаю со студенческими работами здесь

Как выполнить внешний cmd файл
system, axes и косые обратные кв не подойдут:...

Как, используя BackgroundWorker, вывести текст в RichTextBox
как используя backgroundworker вывести текст в ричтекстбокс? вот такая штука выдвает эксепшн: ...

Как мне подключиться к серверу у которого есть «внутренний» ip, используя внешний ip?
Здравствуйте. Я столкнулся с такой проблемой: запустил игровой сервер на Linux, я могу к нему...

произвести вычисление значений функций. Результаты вычислений вывести в компонент ListBox. Выбор вычисляемой функции производить, используя компонент RadioButton.
Для ЛП произвести вычисление значений функций. Результаты вычислений вывести в компонент ListBox....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru