2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Переход на новую строку в ListBox (visual basic)
Сообщение26.03.2010, 04:54 


14/12/09
306
Привет всем! :lol:

Вот есть такая процедура для вывода строк:
Код:
    Sub vivodMas(ByVal f() As String, ByVal n As Integer, ByVal T As ListBox)
        Dim i As Integer
        Dim st As String = ""

        For i = 0 To n - 1
            st = st + f(i)
            T.Items.Add(st)
        Next

    End Sub

Работает она хорошо и все строки друг под другом выводит - как надо.

Скажите почему не работает так:
Код:
    Sub vivodMas(ByVal f() As String, ByVal n As Integer, ByVal T As ListBox)
        Dim i As Integer
        Dim st As String = ""

        For i = 0 To n - 1
            st = st + f(i) & vbCrLf
        Next
        T.Items.Add(st)
    End Sub

Вместо vbCrLf появляются два квадратика. А мне нужно чтоб был переход на новую строку( В инете искал... везде пишут, что надо MultiLine на True поставить, но это для ТекстБокса, а у меня ЛИСТБОКС! :) (((

 Профиль  
                  
 
 Re: Переход на новую строку в ListBox (visual basic)
Сообщение26.03.2010, 06:36 
Заслуженный участник


04/05/09
4587
А в листбоксе так нельзя, увы.

 Профиль  
                  
 
 Re: Переход на новую строку в ListBox (visual basic)
Сообщение26.03.2010, 17:09 
Заслуженный участник


15/05/05
3445
USA
Mikle1990 в сообщении #302540 писал(а):
Скажите почему ... Вместо vbCrLf появляются два квадратика. А мне нужно чтоб был переход на новую строку
Потому что в ListBox данные хранятся в виде массива String, по элементу на строку.
А вот в TextBox данные хранятся в виде одного поля String. И при MultiLine = True символы CR-LF будут правильно отображаться.
Посмотрите свойства (property) и методы этих контролов.

 Профиль  
                  
 
 Re: Переход на новую строку в ListBox (visual basic)
Сообщение26.03.2010, 17:44 
Заслуженный участник


09/08/09
3438
С.Петербург
Можно самому отрисовывать элементы листбокса (owner drawn listbox).
Вот тут, например, посмотрите: http://www.thescarms.com/vbasic/OwnerDrawn.aspx

 Профиль  
                  
 
 Re: Переход на новую строку в ListBox (visual basic)
Сообщение26.03.2010, 18:51 


14/12/09
306
Ну как думаете, такой код сойдёт для 1-го курса?:
Код:
 
    Sub vivodMas(ByVal f() As String, ByVal n As Integer, ByVal T As ListBox)
        Dim i As Integer
        For i = 0 To n - 1
            T.Items.Add(f(i))
        Next
    End Sub


Конечно здесь нет накопления в переменной(и её самой тоже нет) и идёт повторение T.Items.Add. Типо когда накопления, то программа быстрее работает. Если что-то пытаюсь сделать, то кода будет намного больше и, следовательно, стоит оставить код как я написал.
Как считаете?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Я щас посмотрел, всё-таки буду делать через TextBox)

 Профиль  
                  
 
 Re: Переход на новую строку в ListBox (visual basic)
Сообщение27.03.2010, 12:43 
Аватара пользователя


25/03/09
94

(Оффтоп)

У меня ощущение, что вы - искусственный разум :)

Если вам просто нужно отобразить несколько строчек - используйте Label. Он, кстати, понимает CR/LF. Если нужно, чтобы этот текст можно было скопировать в clipboard - тогда TextEdit.

 Профиль  
                  
 
 Re: Переход на новую строку в ListBox (visual basic)
Сообщение27.03.2010, 14:27 
Заслуженный участник


27/04/09
28128
Mikle1990 в сообщении #302792 писал(а):
Код:
vivodMas
Не-не-не, это имя стоит заменить! :o

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group