Serie di oggetti Vb-2005

venerdì 07 settembre 2007 - 14.17

fos Profilo | Newbie

Salve,

ho una serie di oggetti che devo chiamare all'interno di un ciclo for con l'avanzare della variabile del ciclo.
L'oggetto su cui devo effettuare l'operazione è quello indicato dal numero della variabile del ciclo.
Come lo indico ?

Spero di essere stato chiaro

alextyx Profilo | Expert

Dipende da dove hai appoggiato questi oggetti.
In generale, se hai una collezione, userai un ciclo for each, senza preoccuparti della variabile (tipicamente 'i') che punta l'oggetto nei classici cicli for next.
Se invece, ad esempio, li hai appoggiati in un array che si chiama controlli, scriverai, per esempio controlli(i).tag="pippo".
Comunque se chiarisci meglio la cosa, spero di poter essere più chiaro a mia volta.

fos Profilo | Newbie

>> controlli(i).
come indico quella i nel nome dell'oggetto ?

Grazie

alextyx Profilo | Expert

Abbi pazienza, ma non capisco la domanda.
Puoi chiedere quale è il nome dell'oggetto, qualcosa tipo 'controlli(i).name', ma non riesco a capire cosa stai chiedendo tu.
Forse se spieghi cosa ti serve ottenere, posso capire meglio.

fos Profilo | Newbie

Provo ad essere più chairo.

Ho sette picture box, che ho bisogno di chiamare una dopo l'altra all'interno di un ciclo for.
Adesso le ho nominate pcb1, pcb2... vorrei poterle nominare in maniera tale che le posso chiamare così come varia il numero i all'interno del ciclo.

Grazie per l'attenzione

alextyx Profilo | Expert

>Provo ad essere più chairo.
>
>Ho sette picture box, che ho bisogno di chiamare una dopo l'altra
>all'interno di un ciclo for.
>Adesso le ho nominate pcb1, pcb2... vorrei poterle nominare in
>maniera tale che le posso chiamare così come varia il numero
>i all'interno del ciclo.
>
>Grazie per l'attenzione

Mi sfugge qualcosa. Tu vuoi fare una operazione diversa per ogni picturebox, mentre le scorri in un ciclo? Questa operazione devi deciderla in base al nome della picturebox?
Se devi deciderla in base al nome della picturebox (non mi sembra utile scorrerle in un ciclo però), puoi chiedere il nome della picturebox che stai puntando e decidere con un select-case. Non vedo il motivo per cui si debba ordire una simile architettura, ma volendo si può!
Quello che sto cercando di dirti è che se le metti in una collection o più semplicemente in un array che definirai così:

Dim ArrPB(6) as picturebox

Allora potrai scorrerle tutte senza preoccuparti del loro nome, a meno che non ti serva conoscerlo per prendere decisioni all'interno del ciclo. Es.:

For i as integer=0 to 6
ArrPB(i).Tag="Pippo"
next

Qui sono andato a mettere una stringa ("Pippo") nel tag di ognuna delle picturebox. Tu cosa intendi fare?

Ovviamente potresti anche chiedere il nome della Picturebox. Inoltre se le inserisci in ordine dalla 1 alla 7, potrai puntare, ad esempio, la picturebox1 come ArrPB(0) (l'indice dell'array parte da 0).

Se mi spieghi quale è l'operazione che vuoi fare e in base a quale logica applicarla, potrò essere più chiaro.

Se poi il tuo problema è di ricavare un controllo partendo dal suo nome, ti segnalo questo link:
http://www.tek-tips.com/faqs.cfm?fid=5698

fos Profilo | Newbie

Grazie ho risolto con l'array.

Alla prossima, Francesco
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5