Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

vb.net e listview

190 views
Skip to first unread message

Lord Wizard

unread,
Aug 8, 2003, 4:29:35 AM8/8/03
to
Scusate per la domanda idiota come faccio a sapere quale riga è selezionata?
Grazie in anticipo


Antonio Cangiano [VC#.IT]

unread,
Aug 8, 2003, 4:38:28 AM8/8/03
to
Lord Wizard wrote:
> Scusate per la domanda idiota come faccio a sapere quale riga è
> selezionata? Grazie in anticipo

Ciao Lord,
attraverso listView.SelectedItems puoi accedere agli elementi selezionati.

HTH
Antonio Cangiano
--
Webmaster & Content Manager www.visualcsharp.it
Il portale italiano della programmazione C# e .NET
Entra nella community www.visualcsharp.it/forum


Lord Wizard

unread,
Aug 8, 2003, 4:43:13 AM8/8/03
to
Il problema è che quando tento di rimuovere una riga .Items.RemoveAt() se inserisco selectitems o l'altro select no  li accetta

 

"Antonio Cangiano [VC#.IT]" <ilcangian...@MAIUSCOLOyahoo.it> ha scritto nel messaggio news:8kJYa.232336$Ny5.6...@twister2.libero.it...

Corrado Cavalli

unread,
Aug 8, 2003, 5:21:24 AM8/8/03
to
Hai due possibilita' utilizzare Remove al posto di RemoveAt oppure usare RemoveAt(selectedItem.Index)
 
HTH

--
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - http://www.ugidotnet.org

Maurizio A.

unread,
Aug 8, 2003, 7:26:52 AM8/8/03
to

"Lord Wizard" ha scritto nel messaggio
> Scusate per la domanda idiota come faccio a sapere quale riga č
selezionata?
> Grazie in anticipo
>

Scusate se mi intrometto.
non riesco a sapere quale riga č selezionata

attraverso listview1.selecteditem, non riesco a capire come prendere l'index
l'evento
ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ListView1.SelectedIndexChanged

č giusto.

non capisco come utilizzare e, in quanto non mi da l'index?? quindi non
sapro' mai quale riga č stata selezioanta

ciao

Corrado Cavalli

unread,
Aug 8, 2003, 8:13:55 AM8/8/03
to
L'evento ti dice che l'elemento selezionato e' cambiato, all'interno
dell'evento recupera la collezione di selectedItems (che nel tuo caso sara'
composta di un unico elemento) e usa l'item o il relativo index.

Maurizio A.

unread,
Aug 8, 2003, 8:39:50 AM8/8/03
to

"Corrado Cavalli" ha scritto nel messaggio

> L'evento ti dice che l'elemento selezionato e' cambiato, all'interno
> dell'evento recupera la collezione di selectedItems (che nel tuo caso
sara'
> composta di un unico elemento) e usa l'item o il relativo index.
>

scusa Corrado, ma non capisco....ho provato a fare un po di tutto ma non
riesco a capire
come prendere l'index, nelle propietą non c'č...

scusa potresti farmi un esempio, sto diventado matto qui...

scusa se sono cosi' ottuso...
Grazie
Ciao

Antonio Cangiano [VC#.IT]

unread,
Aug 8, 2003, 8:58:03 AM8/8/03
to
Maurizio A. wrote:
> scusa Corrado, ma non capisco....ho provato a fare un po di tutto ma
> non riesco a capire
> come prendere l'index, nelle propietà non c'è...

>
> scusa potresti farmi un esempio, sto diventado matto qui...

Ciao Maurizio,
vediamo un possibile modo.
listView.SelectedItems ti fornisce una Collection degli elementi
selezionati.
Se tu ad esempio vuoi accedere al primo elemento selezionato, puoi farlo con
listView.SelectedItems(0) poiché è a base zero. Ora se vuoi accedere
all'indice o al testo contenuto, puoi utilizzare rispettivamente:

listView.SelectedItems(0).Index
o
listView.SelectedItems(0).Text

Maurizio A.

unread,
Aug 8, 2003, 9:29:57 AM8/8/03
to

"Antonio Cangiano [VC#.IT]" ha scritto nel messaggio

>
> listView.SelectedItems(0).Index
> o
> listView.SelectedItems(0).Text
>
> HTH
> Antonio Cangiano
> --

Ciao Antonio...
Forse mi sono spiegato male, mi serve l'indice della riga, è quello che non
riesco atrovare.
perchè l'evento non me lo da...

listView.SelectedItems(Questo indice).text

come posso fare?

ciao


Antonio Cangiano [VC#.IT]

unread,
Aug 8, 2003, 9:39:29 AM8/8/03
to
Maurizio A. wrote:
> Ciao Antonio...
> Forse mi sono spiegato male, mi serve l'indice della riga, è quello
> che non riesco atrovare.
> perchè l'evento non me lo da...
> listView.SelectedItems(Questo indice).text

Ciao Maurizio,
forse non mi sono spiegato bene.
Mettiamo caso di avere una listview con all'interno 10 righe:

Roma
Milano
Napoli
Palermo
Firenze
Cagliari
Bologna
Ancona
Torino
Bolzano

Se tu fai click su Napoli, vuoi recuperare il valore 2 (la riga) giusto?
Ora il fatto è questo, se tu selezioni solo Napoli, all'interno di
SelectedItems non troverai i 10 elementi, ma un solo elemento: quello
corrispondente a Napoli. Quella è la collection non degli elementi, ma solo
di quelli selezionati. Per questo motivo quando mi dici,

>listView.SelectedItems(Questo indice).text

ti dico che "Questo indice" indicizza gli elementi in SelectedItems, per cui
essendovi un solo elemento (Napoli), puoi accedervi nella posizione 0 della
collection, quindi ti basterà:

listView.SelectedItems(0).Text

Se invece vuoi sapere in quale posizione si trova tra tutti gli elementi ti
basta un:

listView.SelectedItems(0).Index.

Spero di essere stato più chiaro,

Corrado Cavalli

unread,
Aug 8, 2003, 9:45:25 AM8/8/03
to
Supponendo che ci sia un solo item selezionato, nell evento scrivi
dim index as Int32= listView.SelectedItems(0).Index

Ovviamente verifica che la collection non sia vuota...

Maurizio A.

unread,
Aug 9, 2003, 4:57:37 AM8/9/03
to

Grazie ragazzi...ci sono riuscito....non capivo, forse perchè abituato alla
versione precedente...cmq..grazie.

Ho una domanda:


Ho una form con una 20 di textbox e attraente label.quando passo dalla
visuale codice alla visuale form, il programma comincia a pensare per circa
4/5 minuti macinando il disco.mi sembra quasi che ricostruisca ogni volta l'
intera form.beh.. sai perdo molto tempo per fare delle piccole modifiche, a
volte, mentre il programma è bloccato a pensare.mi dimentico la modifica che
dovevo fare.io utilizzo la beta 2 di .NET, dipende da questo, o è una
procedura consueta, ma se è cosi', non si puo' evitare.ho controllate le
opzioni, ma nulla.

Hai qualche suggerimento.

Ciao

Grazie

Antonio Cangiano [VC#.IT]

unread,
Aug 9, 2003, 5:08:32 AM8/9/03
to
Maurizio A. wrote:
> io utilizzo la beta 2 di .NET

Maurizio imho č molto probabile che ciň sia dovuto alla beta.

Maurizio A.

unread,
Aug 9, 2003, 3:16:31 PM8/9/03
to

"Antonio ha scritto nel messaggio

> HTH
> Antonio Cangiano
> --

Ah...e si...è proprio un bel problema con questa beta 2....dovro' riuscire a
convincere il mio capo

ad acquistare la versione completa...lui non è molto propenso a sviluppare
con vb.net....Azz.....

Antonio, mi sai dare un indicazione su come fare le matrici di insieme(Parlo
di oggetti, text1(0).text)

o notato che in VB.NET i nomi sono univoci, in vb6 bastava fare una copia
dello oggetto e il gioco era fatto,

adesso come caspita si fa, cosa si sono inventati...cmq oggi mi sono letto
velocemente un libro su vb.net passo passo, della microsoft per avere una
visuale piu' chiara di quello che sto facendo...si mi è servito...ma credo
ci voglia qualcosa di piu'....tra le altre cose, il mio MSDN, è
incompleto...alcuni argomenti non sono stati implementati...Azz la beta 2
eh....

Ciao

Grazie.

Pericle Malnati

unread,
Aug 9, 2003, 3:18:34 PM8/9/03
to
"Lord Wizard" <l...@email.it> ha scritto nel messaggio
news:PbJYa.232759$lK4.6...@twister1.libero.it...

> Scusate per la domanda idiota come faccio a sapere quale riga è
selezionata?
> Grazie in anticipo

Forse ti viene più comodo con la proprietà SelectedIndex.

Pericle Malnati

unread,
Aug 9, 2003, 3:21:36 PM8/9/03
to
"Maurizio A." <cepost...@tin.it> ha scritto nel messaggio
news:bh3hai$fan$1...@newsreader.mailgate.org...

> adesso come caspita si fa, cosa si sono inventati

Le matrici di controlli non esistono piů.
Non č meraviglioso? :-(

Potresti gestire gli eventi comuni impostando una sola sub per gestire
eventi di piů oggetti:
Private Sub btn_Click(sender as object, e as eventargs) handles
btn1.click,btn2.click,btn3.click

C'č, credo su MSDN, un esempio per "emulare" questa caratteristica, ma non
l'ho guardato bene.


Antonio Cangiano [VC#.IT]

unread,
Aug 9, 2003, 4:09:27 PM8/9/03
to
Pericle Malnati wrote:
> Forse ti viene più comodo con la proprietà SelectedIndex.

Se gli serve solo l'indice, è sicuramente più diretto.
Ovviamente con la collection degli elementi selezionati può farci più cose.
:-)

Saluti,

Antonio Cangiano [VC#.IT]

unread,
Aug 9, 2003, 4:18:35 PM8/9/03
to
Maurizio A. wrote:
> Ah...e si...è proprio un bel problema con questa beta 2....dovro'
> riuscire a convincere il mio capo
>
> ad acquistare la versione completa...lui non è molto propenso a
> sviluppare con vb.net....Azz.....

Quando tra non molto, le aziende considereranno lo sviluppo in vb6 come
qualcosa da 'retrogradi',
vedrai che sarà il tuo capo stesso a chiederti di sviluppare in VB.NET.

> Antonio, mi sai dare un indicazione su come fare le matrici di
> insieme(Parlo di oggetti, text1(0).text)
> o notato che in VB.NET i nomi sono univoci, in vb6 bastava fare una
> copia dello oggetto e il gioco era fatto,

Maurizio so di darti un dispiacere ma le tanto amate matrici di controlli
non esistono più.

> adesso come caspita si fa, cosa si sono inventati...

Si sono inventati un sistema di gestione degli eventi che è a dir poco
ottimo.
Ti riporto parte di un post di risposta che ho fatto qualche tempo fa in un
newsgroup analogo:

|Gli strumenti a disposizione in .NET sono molto più "eleganti".
|Cerca informazioni sulla parola chiave Handles che ti permette di
'associare' un evento a più controlli.
|Inoltre con AddHandler e RemoveHandler puoi gestire le associazioni a
Runtime. Immagina di avere una
|calcolatrice con i classici 10 pulsanti per le cifre da 0 a 9. Puoi gestire
l'evento click di tutti e 10 i pulsanti tramite la seguente routine:
|
|Private Sub Cifra_Click(ByVal sender As System.Object, ByVal e As
|System.EventArgs) Handles btn1.Click, btn2.Click, btn3.Click, btn4.Click,
|btn5.Click, btn6.Click, _
|btn7.Click, btn8.Click, btn9.Click, btn0.Click
| lblLED.Text = lblLED.Text + sender.Text
|End Sub
|
|Sender ti permette di riconoscere quale controllo ha scatenato l'evento.

> cmq oggi mi sono
> letto velocemente un libro su vb.net passo passo, della microsoft per
> avere una visuale piu' chiara di quello che sto facendo...si mi è
> servito...ma credo ci voglia qualcosa di piu'....

http://education.mondadori.it/Libri/SchedaLibro.asp?IdLibro=88-8331-385-2

Ciao. ;-)

Maurizio A.

unread,
Aug 10, 2003, 3:14:14 PM8/10/03
to
Ok!
Ciao

Maurizio A.

unread,
Aug 10, 2003, 3:21:15 PM8/10/03
to

"Pericle Malnati" ha scritto nel messaggio

> "Lord Wizard" ha scritto nel messaggio

> > Scusate per la domanda idiota come faccio a sapere quale riga è


> selezionata?
> > Grazie in anticipo
>
> Forse ti viene più comodo con la proprietà SelectedIndex.
>
>

il selecteditem mi sta bene, tanto mi serve solo prendere l'indice per
sapere la riga selezionata.....-:)

Maurizio A.

unread,
Aug 10, 2003, 3:27:36 PM8/10/03
to
Ho visto che funziona..restitusce effettivamente l'indice.ma nella propietà
non c'è l'index, come mai....pero' funziona..
Sull'MSDN c'è un esempio di listview che fa:

listview1.listitem...

ma continuo a non avere la propietà "listitem" nell'elenco, si quanto premo
il punto....

quindi lo uso cosi'

listview1.items.add("Pippo")

Devo percaso includere qualche riferimento o caricare qualche libreria..

Ciao

Maurizio A.

unread,
Aug 10, 2003, 3:40:32 PM8/10/03
to

"Antonio Cangiano [VC#.IT]" ha scritto nel messaggio

> |Private Sub Cifra_Click(ByVal sender As System.Object, ByVal e As


> |System.EventArgs) Handles btn1.Click, btn2.Click, btn3.Click, btn4.Click,
> |btn5.Click, btn6.Click, _
> |btn7.Click, btn8.Click, btn9.Click, btn0.Click
> | lblLED.Text = lblLED.Text + sender.Text
> |End Sub
> |
> |Sender ti permette di riconoscere quale controllo ha scatenato l'evento.
>

mi i libro costa una follia....

ah.. forse ho capito....gli oggetti gli do il nome..poi mi costruisco la
rutine...correggimi se sbaglio....indicando il nome degli oggetti che voglio
includere nella matrice...?

Ciao


0 new messages