Более общий способ сопоставления дефисов заключается в использовании символьного класса для дефиса и тире («\ p {Pd}» без кавычек). Если вы имеете дело с текстом из разных культур и источников, вы можете обнаружить, что существует больше типов делений, а не только один символ. Вы можете добавить, что внутри выражения []
Вы можете легко изменить эту функцию, чтобы в качестве аргументов этой функции использовался элемент управления GroupBox (и другие):
Private Sub Room105(grpBox As GroupBox, comboBx As ComboBox, lv1 As ListView, lv2 As ListView, lv3 As ListView, lv4 As ListView, lv5 As ListView, rb1 As RadioButton, rb2 As RadioButton, rb3 As RadioButton)
Dim rb = grpBox.Controls.OfType(Of RadioButton)().
SingleOrDefault(Function(radiobutton) radiobutton.Checked)
Dim value = If(CStr(rb?.Tag), comboBx.Text = V1)
If rb?.Tag Is Nothing Then comboBx.Text = V1
If comboBx.Text = M1 Then
lv1.Items.Add(grpBox?.Tag).SubItems.Add(value)
If rb?.Tag = CO Then
ListView4.Items.Add(grpBox?.Tag).SubItems.add(value)
End If
ElseIf comboBx.Text = M2 Then
lv2.Items.Add(GroupBox1?.Tag).SubItems.Add(value)
If rb?.Tag = CO Then
lv4.Items.Add(grpBox?.Tag).SubItems.add(value)
End If
ElseIf comboBx.Text = M3 Then
lv3.Items.Add(grpBox?.Tag).SubItems.Add(value)
If rb?.Tag = CO Then
lv4.Items.Add(grpBox?.Tag).SubItems.add(value)
End If
ElseIf comboBx.Text = V1 Then
rb1.Checked = False
rb2.Checked = False
rb3.Checked = False
lv5.Items.Add(grpBox?.Tag).SubItems.Add("Vacant")
End If
End Sub
Затем вы вызывали бы эту функцию столько раз, сколько вам нужно, выключая различные функции. наборы элементов управления по мере необходимости:
Room105(GroupBox1, ComboBox1, ListView1, ListView2, ListView3, ListView4, ListView5, RadioButton1, RadioButton2, RadioButton3)
PS: я настоятельно рекомендую дать этим элементам управления более описательные имена, чем те, которые вы используете здесь.
Конечно. Если вы создаете массив для групповых блоков, а другой - для полей со списком, помещаете объекты туда, тогда вы можете циклически проходить по вашему массиву и делать то, что нужно сделать, а затем вместо жестко закодированных значений вы можете использовать свой массив в текущий индекс.