VB.net - Заміна індексу елементів керування на форму

Вступ

Для тих, хто вже ознайомився з VB6, легко створити елементи керування з однаковою назвою, але з іншим індексом.

Під VB.Net BG, речі посилюються; колекції контролів більше не існують.

  • Тому необхідно розробляти трюки для подолання цього недоліку, але не хвилюйтеся, все можливо з VB.Net.
  • Ми можемо вважати, що всі елементи керування вже є частиною колекції. Звідти ми можемо спробувати їх ідентифікувати!
  • Ми можемо переглядати всі «контрольні» складові конструкції форми, але головна складність полягає в тому, що кожен контроль має свої власні властивості.
  • Цей перший підхід ми будемо розглядати властивості декількох елементів керування різними типами з деякими рядками коду в одному підпункті.

Попередній

Відкрийте новий проект Windows Form

  • Вставити 4 textBox і встановити їх властивості тегів 1, 2, 3 і 4
  • Вставте 6 малюнків і встановіть їх властивості тегів 1, 2, 3, 4 ... 6
  • Вставити 2 кнопки

Код

Код розбивається на два підпункти для кращої читаності, але це може бути досягнуто однією підсистемою.

Якщо ви хочете, ви можете очистити обидві лінії: Img.image = ...

Зображення знаходяться в zip.

'================================================= =============

'На формі,

'4 TextBox призначений для позначення 1 на 4

6 PictureBox призначений для позначення 1 для 6

'================================================= =============

 Відкритий клас Form1 Приватний Sub Form1_Load (відправник ByVal як System.Object, ByVal e як System.EventArgs) Ручки MyBase.Load InitPic () InitText () Кінець Sub Sub InitText () Дим Ctl як контроль Dim Txt Як TextBox Статичний NbAlea як ціле NbAlea + = 1: Якщо NbAlea> 4 Потім NbAlea = 1 для кожного Ctl в Me.Controls 'букле викинуто контрлекси, якщо TypeOf Ctl є TextBox Потім' Vérifie que c'est un textbox Txt = Ctl Якщо Txt.Tag = NbAlea Тоді 'S'il n'y des que des TextBox для перегляду збігається з буфером Txt.Text = "c'est le TextBox:" & Txt.Name Txt.BackColor = Колір Phuchsia Else Txt.Text = "" Txt.BackColor = Color.Empty End Якщо кінець, якщо наступний кінець Sub Sub InitPic () Dim Pic як контроль Dim Img як PictureBox Статичний NbAlea як ціле NbAlea + = 1: Якщо NbAlea> 6 Тоді NbAlea = 1 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' - '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'буфер для кожної Pic In Me. c Це PictureBox Потім Img = Pic Якщо Pic.Tag = NbAlea Тоді Img.BackColor = Колір.Аквамарин Img.BorderStyle = BorderStyle.Fixed3D 'Img.Image = System.Drawing.Bitmap.FromFile (My.Application.Info.DirectoryPath & " bt "& NbAlea &" .bmp ") 'Img.SizeMode = PictureBoxSizeMode.StretchImage Else Img.BackColor = Color.Chocolate Img.BorderStyle = BorderStyle.FixedSingle End Якщо кінець, якщо наступний кінець Sub приватний Sub Button1_Click (відправник ByVal як система. Об'єкт, ByVal e як System.EventArgs) Обробляє Button1.Click InitText () Закінчує підпорядковане Sub Button2_Click (відправник ByVal як System.Object, ByVal e як System.EventArgs) Обробляє Button2.Click InitPic () End End End клас 

Завантажити:

  • Сервер 1: Колекція VbNet.zip

Попередня Стаття Наступна Стаття

Кращі Поради