Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: RTB via TextBox, vbCrLf Добавлено: 08.02.08 07:06  

Автор вопроса:  Дилетант
RTB1.Text = "Ехали" & vbCrLf & "медведи" & vbCrLf & "на" & vbCrLf&  "велосипеде"

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = RTB1.Text
End Sub

Результат:
Ехали[]медведи[]на[]велосипеде
(с vbNewLine и Chr(13) + Chr(10) то же самое)

Вопрос: что надо делать, чтобы копировалось адекватно?
Примечание: из контрола RTB VB6 копируется нормально, но там есть другие заморочки, которые мне не нужны.

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 08.02.08 07:07
MultiLine у текстбокса?

Ответить

Номер ответа: 2
Автор ответа:
 Дилетант



Вопросов: 13
Ответов: 30
 Профиль | | #2 Добавлено: 08.02.08 07:09
Есессно

Ответить

Номер ответа: 3
Автор ответа:
 Skywalker



ICQ: 300-70-6пятьЪ 

Вопросов: 62
Ответов: 545
 Web-сайт: iSkywalker.ru
 Профиль | | #3
Добавлено: 08.02.08 09:14
как насчет

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        RichTextBox1.Text = "Ехали" & vbCrLf & "медведи" & vbCrLf & "на" & vbCrLf & "велосипеде"
        TextBox1.Lines = RichTextBox1.Lines
    End Sub

Ответить

Номер ответа: 4
Автор ответа:
 Дилетант



Вопросов: 13
Ответов: 30
 Профиль | | #4 Добавлено: 08.02.08 23:03
Спасибо. Ваш пример работает, но мне он помог не до конца. Попробую объяснить, что мне действительно нужно.
У меня редактор HTML на базе RTB. RTB нужен для подсветки тэгов и объёма текста (иногда я запускаю туда целый роман). В VB6 возникли проблемы с юникодом (диакритические знаки в иностранных языках), и я переделываю это в VB.NET, где юникод правильный, а заодно начинаю осваивать эту версию, поскольку жареный петух уже клюнул.
(Возможный встречный вопрос: почему бы мне не использовать готовый редактор HTML?
Отвечаю: в каком редакторе можно выделить целую главу, нажать кнопочку - и все абзацы окажутся в аккуратненьких <p>? Где можно выделить французский или, там, исландский текст - и все левые буквы превратятся в нужные &#номера;? (Правда, пока это отдельная утилита, чтобы её встроить, я и затеял переписку в VB.NET.) Там ещё много таких мелких, но удобных примочек типа быстрого "окучивания" таблиц и списков. Кое-что планируется - например, редактор javascript со шпаргалками - почти как VB. А главное - всё в одном флаконе, максимально удобном лично мне).
Так вот, в VB.NET все мои процедуры правильно работают только в TextBox (плакала подсветка, плакали романы, плакало визуальное удобство установки <em> и <strong>;). Пример с медведями я выдумал для тестирования различий этих контролов.
Если поставить в форму невидимый TextBox и перегонять Lines туда, а потом обратно, то работает тотальное форматирование всего текста, а с выделением начинается лажа.
Вот только что я экспериментально установил, что визуально одинаковый SelectedText имеет разную длину в RTB и TextBox, а именно: в TextBox перенос строки занимает 2 символа, а RTB - один.
То есть:
бля
бля
бля
RTB1.SelectionLength = 11 (4+4+3)
Text1.SelectionLength = 13 (5+5+3)
Вопрос: что за хреновину нужно использовать в RTB на VB.NET для определения и программирования новой строки (вместо vbCrLf и пр.)? Или как-то работать с массивом Lines? А у меня пока всё завязано на функцию Replace().

Ответить

Номер ответа: 5
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #5 Добавлено: 08.02.08 23:40
ControlChars.CrLf
и без матов

Ответить

Номер ответа: 6
Автор ответа:
 Дилетант



Вопросов: 13
Ответов: 30
 Профиль | | #6 Добавлено: 09.02.08 04:32
ControlChars.CrLf работает точно так же, как и vbCrLf. Те же глюки и та же разница в SelectionLength. Проштудировал, что пишет по этому поводу MSDN... Ничего не пишет. Или это нужно искать в каких-то экзотических разделах.

Ответить

Номер ответа: 7
Автор ответа:
 Дилетант



Вопросов: 13
Ответов: 30
 Профиль | | #7 Добавлено: 09.02.08 08:01
ВСЁ ПОНЯЛ!!!
В RTB перенос строки только Chr(10), без 13-ти.
Тогда всё работает и без перегонки в TextBox/

Ответить

Номер ответа: 8
Автор ответа:
 



Вопросов: 1
Ответов: 2
 Профиль | | #8 Добавлено: 31.10.09 15:29
кук

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам