Связь для содержимого двух контролов - Visual Basic .NET
Формулировка задачи:
Всем привет!
Мужики, помогите решить задачу.
В RTB1 есть список строк. В каждой новой строке записана фамилия и имя, например:
Иванов Иван
Петров Петр
...
Задача.
1. Вывести в листбокс только фамилии. С этим проблем нет, через сплит откидываю имена и закидываю фамилии в листбокс.
2. Пользователь выбирает в листбоксе определенные фамилии (с помощью мультиселекта) и выбранные фамилии перекидываются в RTB2. Проблема в том, что к этим фамилиям нужно вернуть обратно имена, которые были откинуты через сплит.
Как вернуть имена, которые были откинуты через сплит, не пойму?
Решение задачи: «Связь для содержимого двух контролов»
textual
Листинг программы
Public Class Form3
Private fiInfo() As fi
Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim n As Integer = TextBox1.Lines.Length
ReDim fiInfo(n - 1)
For i = 0 To n - 1
fiInfo(i) = New fi(TextBox1.Lines(i))
Next
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
ListBox1.DataSource = fiInfo
ListBox1.DisplayMember = "fami"
ListBox1.ValueMember = "name"
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
If ListBox1.SelectedItems.Count > 0 Then
TextBox2.Clear()
For Each ii As fi In ListBox1.SelectedItems
TextBox2.Text &= ii.fami & " " & ii.name & vbCrLf
Next
End If
End Sub
Private Class fi
Public Property fami As String
Public Property name As String
Public Sub New(ByVal f_n As String)
Dim s() As String = f_n.Split(" "c)
_fami = s(0)
_name = s(1)
End Sub
End Class
End Class