Консультация № 72420
24.01.2007, 13:45
0.00 руб.
0 1 1
Есть вот такой текст:
<asp:textbox id="ReviewBody" runat="server" Width="100%" BorderStyle="Solid" Height="119px" Rows="15" Columns="80" TextMode="MultiLine" BorderColor="#339933" BorderWidth="1px"></asp:textbox>
В VB.NET идет к нему обращение:
ReviewBody.Text
С сожалению если пользователь забывает нажать "Enter" то текст так и идет в одну строчку (как результат сайт вылазит за границы), а мне нужно что бы, когда закончится строчка в текст боксе автоматом добавлялось перевод на новую линию.
Как можно сделать перевод на новую линию в тексте?
Есть какие-нибудь автоматические инструменты для этого в VB.NET?

Обсуждение

Неизвестный
24.01.2007, 22:16
общий
это ответ
Здравствуйте, Alexburzak!
Не знаю как насчет VB.Net, но думаю не многое поменялось. в VB6 (и VBA) я бы использовал функцию типа нежеприведенной. Честно говоря, только накидал и не тестировал, но суть, я думаю, важней. Исходная строка последовательно разбивается на "слова", разделенные пробелами. Слова последовательно записываются в строку-результат. Когда длина строки становится больше заданной, добавляются символы перехода на другую строку (константой vbCrLf).


Приложение:
Function RazbitStroku(St As String, MaxStLen As Integer) As String‘St - введенная строка‘MaxLenSt - максимальная длина строки‘результат - срока, разбитая на абзацы, каждый длиной не более MaxLenStDim Res As StringDim St1 As StringDim St2 As StringDim n As IntegerSt = St & " "Res = ""St2 = ""Do While St <> "" n = InStr(St, " ") If n >= MaxStLen Then n = MaxStLen St1 = Left(St, n) St = LTrim(Right(St, Len(St) - n)) If Len(Res & St2) > MaxStLen Then Res = Res & St2 & vbCrLf St2 = "" End If St2 = St2 & " " & St1LoopRes = Res & St2RazbitStroku = ResEnd Function
Форма ответа