Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [vb.net 2008] creare array di conrtolli
Forum - C# / VB.NET - [vb.net 2008] creare array di conrtolli

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 23:51
Lunedì, 03/08/2009
è la prima volta che posto in questa sezione, sono nuovo al vb.net e vi prego di comprendere la mia ignoranza...

so che non si può creare un array di controlli come in vb6, ma si può creare una collezione
sul web ho trovato questo codice:
Codice sorgente - presumibilmente VB.NET

  1. Dim lab As Label
  2. Dim i As Integer
  3. Dim coll As New List(Of Label)
  4.  
  5. For i = 1 To 30
  6.     lab = New Label
  7.     lab.Text = i.ToString
  8.  
  9.     'imposta le altre proprietà della label
  10.     '...
  11.  
  12.     lab.Visible = True
  13.  
  14.     'aggiunge la label alla collection
  15.     coll.Add(lab)
  16. Next



ho aggiunto anche le proprietà top, left, height, widht, ma nel form non ci sono...
dove sbaglio?
dove scrivo il codice riferito a questi controlli?

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 23:57
Lunedì, 03/08/2009
Se ho capito bene, il problema è che alla fine non vedi le label nel form giusto? Questo perchè devi aggiungerle ai controlli del form appunto, con Form.Controls.Add

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 0:07
Martedì, 04/08/2009
grazie 1000 efficace come sempre

e il codice per i controlli dove lo metto?

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 0:41
Martedì, 04/08/2009
Testo quotato

Postato originariamente da antometal:

grazie 1000 efficace come sempre

e il codice per i controlli dove lo metto?


Dipende dove ti serve :D
Puoi usarlo in qualsiasi momento. Chiaramente se lo vuoi all'avvio del programma, nel Form_Load, altrimenti...in un qualsiasi altro metodo.

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 0:51
Martedì, 04/08/2009
8-|:-|8-|:-|8-|:-|:d

allora io devo fare un array di button e fin qui ok
ora devo mettere il codice da eseguire all' evento click di un qualsiesi di questi button(mi serve anche l' index del button che è stato premuto), ma questo codice come, dove lo metto?

un vago esempio potrebbe risolvere
scusa l' ignoranza...:(

Ultima modifica effettuata da antometal il 04/08/2009 alle 0:52
PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 1:09
Martedì, 04/08/2009
Testo quotato

Postato originariamente da antometal:

8-|:-|8-|:-|8-|:-|:d

allora io devo fare un array di button e fin qui ok
ora devo mettere il codice da eseguire all' evento click di un qualsiesi di questi button(mi serve anche l' index del button che è stato premuto), ma questo codice come, dove lo metto?

un vago esempio potrebbe risolvere
scusa l' ignoranza...:(


Ma scusa che :D
Comunque devi fare in modo che un metodo creato da te (ad esempio Button_Click) gestisca (handles) il click di tutti quei button.
Al momento della creazione dei button (nel ciclo for) aggiungi anche (ammettendo che nel for ogni bottone si chiami pulsante)
Codice sorgente - presumibilmente C# / VB.NET

  1. addhandler pulsante.click, AddressOf Button_Click


Poi devi definire questo metodo Button_Click()...(ammettiamo che debba apparire una msgbox con il nome del bottone cliccato)
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  2. Messagebox.show(sender.name)
  3. End Sub


Spero di essere stato chiaro...se non fosse così, posta pure ;)

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 1:16
Martedì, 04/08/2009
Testo quotato

Postato originariamente da ruggy94:

...

Spero di essere stato chiaro...se non fosse così, posta pure ;)



chiaro come il sole

un ultima cosa, le msgbox sono vuote, come faccio a sapere quale button è stato premuto?

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 1:25
Martedì, 04/08/2009
Testo quotato

Postato originariamente da antometal:
un ultima cosa, le msgbox sono vuote, come faccio a sapere quale button è stato premuto?


Sono vuote perchè nella creazione dei button non gli assegni un nome. Metti ad esempio (nel ciclo)
Codice sorgente - presumibilmente C# / VB.NET

  1. For I = ....
  2. ...
  3. pulsante.name="button" & I.tostring
  4. ...
  5. Next


PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 1:29
Martedì, 04/08/2009
ok ora son sodisfatto
grazie ancora

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo