Работа с массивами однотипных элементов управления - Visual Basic .NET

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

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

Всем здравствуйте. В VB-6 всё решалось индексированием. Одно имя, разный индекс. В VB.NET предлагается использовать один обработчик события для нескольких элементов, организовывать перечисления элементов, использовать свойство Tag. Но имена этих элементов всё равно разные. А мне нужно обратиться именно по имени. Поясню проблему на примере (исходник в архиве): Пять ComboBox "связаны" с пятью Button. При клике по Button1 в ComboBox1 вставляется текст "Button1", При клике по Button2 в ComboBox2 вставляется текст "Button2", и т.д.
Листинг программы
  1. Public Class Form1
  2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3. ComboBox1.Tag = 0
  4. ComboBox2.Tag = 1
  5. ComboBox3.Tag = 2
  6. ComboBox4.Tag = 3
  7. ComboBox5.Tag = 4
  8. Button1.Tag = 0
  9. Button2.Tag = 1
  10. Button3.Tag = 2
  11. Button4.Tag = 3
  12. Button5.Tag = 4
  13. End Sub
  14. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  15. ComboBox1.Items.Add(sender.Name)
  16. ComboBox1.SelectedIndex = 0
  17. End Sub
  18. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  19. ComboBox2.Items.Add(sender.Name)
  20. ComboBox2.SelectedIndex = 0
  21. End Sub
  22. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  23. ComboBox3.Items.Add(sender.Name)
  24. ComboBox3.SelectedIndex = 0
  25. End Sub
  26. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  27. ComboBox4.Items.Add(sender.Name)
  28. ComboBox4.SelectedIndex = 0
  29. End Sub
  30. Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
  31. ComboBox5.Items.Add(sender.Name)
  32. ComboBox5.SelectedIndex = 0
  33. End Sub
  34. End Class
Как предложенный выше пример записать максимально коротко. Не забываем что количество связей ComboBox - Button может быть значительно больше пяти.

Решение задачи: «Работа с массивами однотипных элементов управления»

textual
Листинг программы
  1. With CType(Panel1.Controls("ComboBox" + sender.tag), ComboBox) ' в теге только окончание
  2. With CType(Panel1.Controls(sender.tag), ComboBox) ' в теге полное наименование

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


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

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

6   голосов , оценка 3.833 из 5

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

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

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