Соединить элементы двух ListBox и записать в Label - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Всем доброго здоровичка!!! Помогите пожалуйста с программой: На форме 2 листбокса. Они заполняются случайно из массивов. В 1-м лб половина слова, во 2-м лб 2-я половина слова. Во 2-м лб слова перемешиваются случайно, чтобы не была видна связь слов. Человек выбирает слово из 1-го лб, выбирает слово из 2-го лб. Рядом с лб есть лейблы. Кнопка склеивает и получается новое слово, удаляет их из лб1 и лб2 и помещает новое слово в очередной лейбл. Теперь проблемы: 1) как сделать запись нового слова в очередной лейбл? 2) после удаления, во 2-м лейбле слова становятся правильно под первые слова, а надо их опять перемешать. 3) программа смотрит новое слово в массиве и если правильно, меняет цвет фона на зелёный, если нет - красный. Программу выкладываю. Заранее спасибо!!!

Решение задачи: «Соединить элементы двух ListBox и записать в Label»

textual
Листинг программы
  1. Public Class Form2
  2.     Private wrd1() As String
  3.     Private wrd2() As String
  4.     Private arr() As String
  5.     Private arr1() As String
  6.     Private arr2() As String
  7.     Private iStart, iCount As Integer
  8.     Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  9.         'каким то образом формируем базовые массивы wrd1, wrd2 (например считываем из файла)
  10.         Dim ss1, ss2 As String
  11.         ss1 = "трек бор мони диск пол след буй вино град ком кон радио ком фа"
  12.         ss2 = "бол ода тор овод оса опыт вол град ус пас курс узел пресс соль"
  13.         ss1 &= " 1трек 1бор 1мони 1диск 1пол 1след 1буй 1вино 1град 1ком 1кон 1радио 1ком 1фа"
  14.         ss2 &= " бол1 ода1 тор1 овод1 оса1 опыт1 вол1 град1 ус1 пас1 курс1 узел1 пресс1 соль1"
  15.         ss1 &= " 2трек 2бор 2мони 2диск 2пол 2след 2буй 2вино 2град 2ком 2кон 2радио 2ком 2фа"
  16.         ss2 &= " бол2 ода2 тор2 овод2 оса2 опыт2 вол2 град2 ус2 пас2 курс2 узел2 пресс2 соль2"
  17.         ss1 &= " 3трек 3бор 3мони 3диск 3пол 3след 3буй 3вино 3град 3ком 3кон 3радио 3ком 3фа"
  18.         ss2 &= " бол3 ода3 тор3 овод3 оса3 опыт3 вол3 град3 ус3 пас3 курс3 узел3 пресс3 соль3"
  19.         wrd1 = ss1.Split(" "c)
  20.         wrd2 = ss2.Split(" "c)
  21.         iStart = 0 : iCount = 14
  22.         setActiveArrs(iStart, iCount)
  23.     End Sub
  24.     Private Sub Mix(ByVal list As String())
  25.         If list Is Nothing Then Exit Sub
  26.         Dim rnd As New Random
  27.         For I As Integer = list.Count - 1 To 0 Step -1
  28.             Dim j As Integer = rnd.Next(0, I + 1)
  29.             Dim temp As String = list(I)
  30.             list(I) = list(j)
  31.             list(j) = temp
  32.         Next
  33.     End Sub
  34.     Private Sub setActiveArrs(ByVal jStart As Integer, ByVal jCount As Integer)
  35.         If jStart + jCount - 1 > wrd1.Length - 1 Then Exit Sub
  36.         ReDim arr(iCount - 1) : ReDim arr1(iCount - 1)
  37.         Array.Copy(wrd1, jStart, arr, 0, jCount)
  38.         Array.Copy(wrd2, jStart, arr1, 0, jCount)
  39.         ReDim arr2(arr1.Length - 1)
  40.         Array.Copy(arr1, arr2, arr1.Length)
  41.         Mix(arr2)
  42.         ListBox1.DataSource = Nothing
  43.         ListBox2.DataSource = Nothing
  44.         ListBox1.DataSource = arr
  45.         ListBox2.DataSource = arr2
  46.         ListBox1.SelectedIndex = 0
  47.         ListBox2.SelectedIndex = 0
  48.     End Sub
  49.     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
  50.         Dim i1 As Integer = ListBox1.SelectedIndex
  51.         Dim s1 As String = ListBox1.SelectedItem
  52.         Dim s2 As String = ListBox2.SelectedItem
  53.         Dim ss2 As String = arr1(i1)
  54.         TextBox1.Text &= s1 & s2 & vbCrLf
  55.         If s2 = ss2 Then
  56.             TextBox1.BackColor = Color.LightGreen
  57.         Else
  58.             TextBox1.BackColor = Color.MistyRose
  59.         End If
  60.         If CheckBox1.Checked Then
  61.             'будем удалять отработавшую строку из первого списка
  62.             ListBox1.DataSource = Nothing
  63.             arElementDel(arr, i1)
  64.             arElementDel(arr1, i1)
  65.             ListBox1.DataSource = arr
  66.         End If
  67.     End Sub
  68.     Private Sub arElementDel(ByRef rr() As String, ByVal ii As Integer)
  69.         Array.Copy(rr, ii + 1, rr, ii, UBound(rr) - ii)
  70.         ReDim Preserve rr(rr.Length - 2)
  71.     End Sub
  72.     Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
  73.         iStart += iCount
  74.         setActiveArrs(iStart, iCount)
  75.     End Sub
  76. End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы