Toon posts:

[vb.net] control arrays

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer een 8 picture boxes neer te zetten met dezelfde naam maar een andere index zoals dat in vb 6 ging, oftewel een control array.

is dit niet meer mogelijk in .NET en is er een alternatief?

Verwijderd

Control Arrays bestaan niet meer in VB.NET
Je kunt wel 1 event schrijven dat voor alle controls geldig is.
Hier staat een voorbeeld

Verwijderd

Het kan idd niet meer zoals het was in VB6, maar het kan natuurlijk wel nog. In VB.NET werkt het zo dat je zelfs de arrays met controls moet aanmaken.

1. Bovenaan de code van je formulier waar ze op moeten komen maak je een array aan van de control die je wil
Visual Basic:
1
Dim arrMyControlls(8) As Label


2. Daarna maak je in de code die automatisch aangemaakt word in VB.NET deze aanpassingen
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
#Region " Windows Form Designer generated code "
    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call
        arrMyControlls(0) = lblMyLabel1
        arrMyControlls(1) = lblMyLabel2
        arrMyControlls(2) = lblMyLabel3
        arrMyControlls(3) = lblMyLabel4
        ...


3. Vanaf dan kan je overal je array oproepen als
code:
1
arrMyControlls(1).text = "blabla"

opm :
arrMyControlls kan je ook gewoon lblMyLabel noemen en dan is het net als VB6

Wat dus opvallend is dat je de 8 picture boxen in jou geval gewoon kan aanmaken met de namen die je zelf wilt. Eens je gewoon die gekozen namen toe kent aan de eigen array zijn ze allemaal gelijk

[ Voor 4% gewijzigd door Verwijderd op 21-03-2003 18:47 ]


Verwijderd

Topicstarter
dat gaat wel werken is alleen een beetje klote omdat je dan zelf de top/left moet aangeven en niet in de designer het neer kan droppen.

Verwijderd

Verwijderd schreef op 21 maart 2003 @ 18:47:
dat gaat wel werken is alleen een beetje klote omdat je dan zelf de top/left moet aangeven en niet in de designer het neer kan droppen.
Vrees dak ik niet helemaal snap wat je bedoeld.
Je moet de controlls gewoon aanmaken zoals je dat altijd doet en kan daar dus ook alle properties (wel iedere keer per control) instellen

Verwijderd

Topicstarter
dat bedoel ik :) je moet het instellen, normaal als je een control er in sleept wordt de grote, en locatie al opgegeven in de designer, nu moet je zelf effe passen en meten vanuit code.
Pagina: 1