VB.net - Nahradenie indexu ovládacích prvkov vo formulári

intro

Pre tých, ktorí sú už uvedení na VB6, je jednoduché vytvoriť ovládače s rovnakým názvom, ale s iným indexom.

Podľa VB.Net BG, veci tvrdšie; zbierky kontrol už neexistujú.

  • Preto je potrebné vyvinúť triky na prekonanie tohto nedostatku, ale nebojte sa, všetko je možné s VB.Net.
  • Môžeme zvážiť, že všetky ovládacie prvky vo formulári sú už súčasťou zbierky. Odtiaľ sa ich môžeme pokúsiť identifikovať!
  • Môžeme preskúmať všetky "kontroly", ktoré tvoria dizajn formulára, ale hlavným problémom je, že každá kontrola má svoje vlastné vlastnosti.
  • Tento prvý prístup budeme zaobchádzať s vlastnosťami viacerých ovládacích prvkov rôznych typov s niektorými riadkami kódu v jednom sub.

predbežný

Otvorte nový projekt systému Windows

  • Vložte 4 textové pole a nastavte ich vlastnosti tagov 1, 2, 3 a 4
  • Prilepte 6 obrázkov a nastavte ich vlastnosti Tag 1, 2, 3, 4 ... 6
  • Prilepte 2 tlačidlá

kód

Kód je rozdelený do dvoch častí pre lepšiu čitateľnosť, ale mohol by byť dosiahnutý jednou sub.

Ak chcete, môžete sa držať oboch riadkov: Img.image = ...

Obrázky sú v zip.

, ================================================= =============

„Vo formulári,

'4 TextBox propriété Tag de 1 à 4

'6 PictureBox propriété Tag de 1 à 6

, ================================================= =============

 Verejné triedy Form1 Private Sub Form1_Load (ByVal odosielateľa ako System.Object, ByVal e ako System.EventArgs) Spracováva MyBase.Load InitPic () InitText () End Sub Sub InitText () Dim Ctl ako ovládací prvok Dim Txt ako TextBox statické NbAlea ako Integer NbAlea + = 1: Ak NbAlea> 4 Potom NbAlea = 1 Pre každý Ctl In Me.Controls 'boucle pre to, čo je v prípade, že TypeOf Ctl je TextBox Potom' Vérifie que c'est un textbox Txt = Ctl Ak Txt.Tag = NbAlea Potom 'S'il n'y a que des TextBox sur la form il n'est pas nécessaire' de une variabilný buffer Txt.Text = "c'est le TextBox:" & Txt.Name Txt.BackColor = Farba .Fuchsia Else Txt.Text = "" Txt.BackColor = Color.Empty End Ak Koniec Ak Ďalší koniec Sub Sub InitPic () Dim Pic As Control Dim Img As PictureBox Statické NbAlea Ako Integer NbAlea + = 1: Ak NbAlea> 6 Potom NbAlea = 1 'S'il n'y a que des pictureBox na ľavej strane formulára na prechod cez variabilný buffer Pre každý Pic In Me.Controls' boucle sur tout les contrôles de la forme Ak TypeOf Pi c Je PictureBox potom Img = Pic Ak Pic.Tag = NbAlea Potom 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 = Color.Chocolate Img.BorderStyle = BorderStyle.FixedSingle Koniec Ak Koniec Ak Ďalší Konec Sub Súkromné ​​Sub Button1_Click (ByVal odosielateľa ako systém. Objekt, ByVal e Ako System.EventArgs) Spracováva Button1.Click InitText () End Sub Súkromné ​​Sub Button2_Click (ByVal odosielateľa ako System.Object, ByVal e As System.EventArgs) Úchyty Button2.Click InitPic () End Sub End Class 

Stiahnuť ▼:

  • Server 1: VbNet Collection.zip

Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy