Как добавить все элементы списка в текстовое поле - PullRequest
0 голосов
/ 30 мая 2020

У меня есть ряд ListBox элементов, которые мне нужно скопировать в TextBox. У меня кое-что получилось, но TextBox, кажется, добавляет vbnewline после моего Value1. Я чувствую, что упускаю что-то очевидное.

Вот мой код:

TextBox2.Text = ""
For Each I As String In ListBox1.Items
    TextBox2.Text = TextBox2.Text & I
Next

Вот скриншот, потому что я не могу опубликовать TextBox, так как он будет выглядеть так же, как ListBox.

screenshot

1 Ответ

0 голосов
/ 30 мая 2020

Возможно, в элементах вашего списка есть символы новой строки. ListBox не будет их отображать, но TextBox будет

TextBox2.Clear()
For Each I As String In ListBox1.Items
    TextBox2.AppendText(I.Replace(vbCr, "").Replace(vbLf, ""))
    TextBox2.AppendText(Environment.NewLine)
Next

Назовите ваши элементы управления чем-нибудь более значимым, чем «ListBox1» (как насчет «_SiteList»?) Или «TextBox2». После того, как вы поместите элемент управления в форму, потребуется несколько секунд, чтобы щелкнуть строку (Имя) в сетке свойств и ввести что-нибудь еще.

К тому времени, когда вы закончите добавлять 27 текстовых полей, 54 метки, 6 списков, 9 числовых c обновлений, несколько сеток, флажков, переключателей и т. Д. c весь ваш программный код будет невероятно сложно понять, и вы будете постоянно переключаться между деисгнером и кодом, задаваясь вопросом: «Как я назвал текстовое поле с URL-адресом в .. TextBox37 или TextBox38?»

Вы также изо всех сил пытайтесь получить помощь, если ваш код выглядит как TextBox16.Text = List5.Items.Count & If(NumericUpDown38.Value > Grid13.Count, Checkbox62.Checked, Checkbox12.Checked) - хорошее именование жизненно важно; просто подумайте, если бы Microsoft не выбрала четкие и соответствующие имена свойств, такие как .Text или .Items, кодирование не было бы большим удовольствием, написав urlTextBox.String1 = "" или For Each x as String in siteList.ObjectCollection1

...