VB.net - Zamenjava indeksa kontrol na obrazcu

Uvod

Za tiste, ki so že predstavljeni v VB6, je preprosto ustvariti kontrole z istim imenom, vendar z drugačnim indeksom.

Pod VB.Net BG se stvari zaostrijo; zbirke kontrol ne obstajajo več.

  • Zato je treba razviti trike za premagovanje tega pomanjkanja, vendar ne skrbite, vse je mogoče z VB.Net.
  • Menimo, da so vse kontrole na obrazcu že del zbirke. Od tam jih lahko poskusimo identificirati!
  • Lahko pregledamo vse "kontrole", ki sestavljajo obliko obrazca, toda glavna težava je, da ima vsak nadzor svoje lastnosti.
  • Ta prvi pristop bomo obravnavali lastnosti večkratnih kontrol različnih vrst z nekaj vrsticami kode v posamezni podmeni.

Predhodno

Odprite nov projekt Windows Form

  • Prilepi 4 textBox in nastavite njihove lastnosti Tag 1, 2, 3 in 4
  • Prilepite slikovno polje 6 in nastavite svoje lastnosti oznak 1, 2, 3, 4 ... 6
  • Prilepi 2 gumba

Koda

Za boljšo berljivost je koda razdeljena na dva dela, vendar jo je mogoče doseči z eno samo podmnožico.

Če želite, lahko očistite obe vrstici: Img.image = ...

Slike so v zipu.

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

"Na obrazcu,

'4 TextBox lastniška oznaka 1 za 4

'6 PictureBox lastniška oznaka 1 za 6

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

 Javni razred Form1 Zasebni pod Form1_Load (ByVal pošiljatelj kot System.Object, ByVal e As System.EventArgs) Ročaji MyBase.Load InitPic () InitText () Konec Sub Sub InitText () Dim Ctl kot nadzor Dim Txt Kot TextBox Statični NbAlea Kot Integer NbAlea + = 1: Če je NbAlea> 4, potem NbAlea = 1 za vsak Ctl v Me.Controls 'boucle tout les contrôles de la forme Če je potem TypeOf Ctl TextBox' Vérifie que c'est un textbox Txt = Ctl Če Txt.Tag = NbAlea Nato 'S'il n'y a que des TextBox, ki je na voljo za vrnitev v prvotno stanje', in Txt.Text = "TextBox:" & Txt.Name Txt.BackColor = Barva .Fuchsia Else Txt.Text = "" Txt.BackColor = Color.Empty End Če se konča, če naslednji konec Sub Sub InitPic () Dim Pic kot nadzor Dim Img Kot PictureBox Statična NbAlea Kot Integer NbAlea + = 1: Če NbAlea> 6 NbAlea = 1 'S'il n'y a que des pictureBox sur la form il n'est pas nécessaire' de passer par une variable buffer Za vsako sliko v Me.Controls 'boucle sur tout les contrôles de la forme Če TypeOf Pi c je PictureBox nato Img = slika, če je slika = NbAlea nato Img.BackColor = Color.Aquamarine Img.BorderStyle = BorderStyle.Fixed3D 'Img.Image = System.Drawing.Bitmap.FromFile (My.Application.Info.DirectoryPath & bt "& NbAlea &" .bmp ") 'Img.SizeMode = PictureBoxSizeMode.StretchImage Else Img.BackColor = Barva.Chocolate Img.BorderStyle = BorderStyle.FixedSingle End Če se konča, če naslednji konec Sub Private Sub Button1_Click (ByVal sender As System. Object, ByVal e As System.EventArgs) Ročaji Button1.Click InitText () Končaj Sub Private Sub Button2_Click (ByVal pošiljatelj kot System.Object, ByVal e kot System.EventArgs) Ročaji Button2.Click InitPic () End End End razred 

Prenos:

  • Strežnik 1: Zbirka VbNet.zip

Prejšnji Članek Naslednji Članek

Top Nasveti