Другие языки программирования и технологии

Вопрос о Visual Basic.

Насчёт поля TextBox. Есть у него такое свойство, как MaxLength - максимальное количество символов, которые можно вводить.Если стоит ноль, то ведь это означает, что количество символов неограничено.Но когда я его программно заполняю (вывожу содержимое текстового файла), то печатается он почему-то не весь, хотя всё должно быть правильно.Не подскажете, можно ли исправить эту проблему?
Дело в том, что элемент TextBox не может показывать текст объемом больше 64 kb (а иногда это значение может сократиться до 30 kb). Но эту проблему легко решить, если подгружать необходимые куски текста в TextBox по мере надобности. Данный код загружает файл любого размера в динамический массив и в зависимости от значения Value Scrool Bar'а показывает в TextBox'e, только определенные куски текста. Для того, что бы все это работало, вам нужно поместить на форму TextBox, назвать его txtMain, установить его свойство Multiline как True, а свойство ScroolBars, как 1-Horizontal. А также рядом с TextBox'ом нарисовать вертикальный ScroolBar с именем vsbText
--------------------------------------------------------------------------------
Private Text()
Private Const LineNum = 15
Private Sub Form_Load()
Dim i
Open "D:\win32api.txt" For Input As #1 Len = 1024
Do Until EOF(1)
i = i + 1
ReDim Preserve Text(i + LineNum)
Line Input #1, Text(i)
Loop
Close #1
With vsbText
.Min = 1
.Max = i
.SmallChange = 1
.LargeChange = i \ 10
End With
End Sub

Private Sub vsbText_Change()
Dim i As Integer
Dim Temp
For i = vsbText.Value To vsbText.Value + LineNum
Temp = Temp + Text(i) + vbCrLf
Next i
txtMain.Text = Temp
End Sub

http://yandex.ru/yandsearch?text=vb+TextBox+64+kb+,jkmit
Дима Храмцов
Дима Храмцов
17 377
Лучший ответ
не получится.
Игорь Исаев
Игорь Исаев
56 834
Если этот элемент однострочный, то скорее всего он впринципе не способен вывести строку длинее 255 символов.
посмотрите внимательно ещё раз ваш код, врятли такой баг был не замечен
Посмотри, может в коде есть изменение text1.maxlength, попробуй создать другой проект, что выйдет..
в textbox невозможно вывести более 255 символов, как и в любую другую строку.
RU
Rustam Umankulov
2 751
надо знать ваш код, который вы добавляете программно. MaxLength - это и правда безлимитно по количеству символов, но всё же больше 65 кб в него вы не добавить. К тому же у ТекстБокса у вас какой параметр MultiLine ?
Используй RichTextBox тогда проблем с выводом файла в текстовое поле не будет!
Разницы у них нету, разве что у RichTextBox нету ограничения в 64Кб и функциональность лучше, менее глюченый.