[VB.NET]object is een array

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Smuggler
  • Registratie: Juni 2005
  • Laatst online: 25-06 19:08

Smuggler

Wat wil jij nu echt bereiken?

Topicstarter
Beste Tweakers,
Ik ben weer begonnen met een nieuw project en een nieuwe programmeertaal voor mij.
Ik loop echter tegen een aantal beperkingen aan die ik niet weet op te lossen.

Het doel is om 100den panels/buttons te maken met exact de zelfde eigenschappen.

het is gelukt om een enkele te maken

code:
1
2
3
4
5
Dim But As New Button()
But.text = "test"
But.Location = New Point(100,50)
But.Size = New Size(75,23)
Me.Controls.Add(but)


maar nu heb ik er meerdere nodig.

Ik heb geprobeerd er een array van te maken, but(1,2) enz. maar dat werkt niet.
en om van een string een soort van array te maken lukt me ook niet.

code:
1
2
3
4
Dim but as String
but = "test"
Dim (but) As New Button()
enz.


ook dit is niet mogelijk zover ik heb ontdekt.

kortom ik wil 10x10 buttons hebben. die via een array zijn aan te spreken.
button(1,3).text = "het werkt" zal dus de 2e van boven de 4e moeten veranderen.

kan iemand mij een setje in de goede richting geven. ik ben een soort van vast gelopen. ben bang dat ik anders tegen het probleem moet aankijken.

[ Voor 4% gewijzigd door Smuggler op 23-05-2011 10:23 ]

9.900Wp PV (enphase), 55kwh EV(Tesla), 35kwh EV(MG), 6kWh thuisbatterij (EVAPOWER), Tibber


Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 02-07 16:48
Misschien moet je even Google gebruiken.

De eerste hit geeft meteen de oplossing:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
Dim buttonArray(10, 10) As Button

For i = 0 To 9
  For i1 = 0 To 9
    buttonArray(i, i1) = new Button()
    buttonArray(i, i1).Text = "Hoi"
  Next i1
Next i

buttonArray(1, 3).Text = "Het werkt"

[ Voor 25% gewijzigd door urk_forever op 23-05-2011 10:34 ]

Hail to the king baby!


Acties:
  • 0 Henk 'm!

  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 26-06 00:23

ZaZ

Tweakers abonnee

Los van het technische; Een form met honderden buttons is eigenlijk altijd een slecht ontwerp. Er is vast een betere methode om het te presenteren.

Lekker op de bank


Acties:
  • 0 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 12:48

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 07:13

Haan

dotnetter

Je verwijst naar het antieke VB6, in .NET is die limiet er niet ;)
los van de discussie of het handig is of niet om honderden controls te hebben op je form

[ Voor 12% gewijzigd door Haan op 23-05-2011 14:12 ]

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • keesdewit
  • Registratie: December 2003
  • Laatst online: 19-06 20:46
Kan slecht het doel erachter beoordelen, maar dit is een begin:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        Dim lstButtons As List(Of Button) = New List(Of Button)

        For i As Integer = 0 To 100
            Dim objButton As New Button()
            objButton.Text = i.ToString()
            objButton.Name = i.ToString()
            Dim rnd As New Random()
            objButton.Location = New Drawing.Point(i + (i * 2), i + (i * 2))
            lstButtons.Add(objButton)
        Next

        For Each objButton As Button In lstButtons
            'Voorbeeld uitlezen
            Me.Controls.Add(objButton)
        Next

[ Voor 65% gewijzigd door keesdewit op 23-05-2011 18:28 ]


Acties:
  • 0 Henk 'm!

  • Smuggler
  • Registratie: Juni 2005
  • Laatst online: 25-06 19:08

Smuggler

Wat wil jij nu echt bereiken?

Topicstarter
heel erg bedankt voor jullie reacties, :)
Had de eerste link ook al gevonden via google. maar blijkbaar is mijn kennis van vb.net zo slecht dat ik dat niet kon koppelen aan dit probleem. wel geprobeerd het via die link op te lossen maar waarschijnlijk telkens haakjes verkeerd hebben staan met de button().

Het doel is uiteindelijk dat ik ledjes aan en uit kan klikken via de knoppen, en die moeten een soort raster vormen. die overeenkomt met het dan aangesloten aantal ledjes.

er zullen vast meer manieren zijn. maar ik wil het graag via deze manier oplossen :)

9.900Wp PV (enphase), 55kwh EV(Tesla), 35kwh EV(MG), 6kWh thuisbatterij (EVAPOWER), Tibber

Pagina: 1