Salve a tutti, ho trovato un po' di script in giro ma sinceramente non sono stato in grado di capire bene il funzionamento. Qualcuno può gentilmente aiutarmi? grazie anticipatamente
Salve a tutti, ho trovato un po' di script in giro ma sinceramente non sono stato in grado di capire bene il funzionamento. Qualcuno può gentilmente aiutarmi? grazie anticipatamente
Ciao..posta gli script che hai trovato e che non riesci a capire e vediamo se ti possiamo dare una mano..oppure esprimi il problema che hai incontrato.
Ciao![]()
Public Function ListView_AddProgressBar(ByRef pListView As System.Windows.Forms.ListView, ByVal ListViewItemIndex As Integer, ByVal ColumnIndex As Integer) As System.Windows.Forms.ProgressBar
Dim r As Rectangle
Dim pb As New System.Windows.Forms.ProgressBar
r = pListView.Items(ListViewItemIndex).Bounds()
r.Width = pListView.Columns(ColumnIndex).Width
If ColumnIndex > 0 Then
r.X = r.X + pListView.Columns(ColumnIndex - 1).Width
End If
pb.Parent = pListView
pb.SetBounds(r.X, r.Y, r.Width, r.Height)
pb.Visible = True
Return pb
End Function
questo è lo script trovato... il mio problema è quello di visualizzare un progressbar in una list view in modo da rendere un po la grafica accattivante e veloce. mi servirebbe creare in sostanza quelle list view come i programmi sharing che ti permettono di visualizzare lo stato del download... grazie![]()
Ti dico come si usa:
1° argom. --> nome della listviewcodice:Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ListView_AddProgressBar(ListView1, 1, 1) End Sub
2° argom. --> indice dell'item dove vuoi la progress bar (cioè la riga..)
3° argom. --> colonna dove vuoi la progress --> la 1a colonna non è considerata, quindi se lo vuoi lì devi mettere 0
Inoltre devi impostare la proprietà della listview "View" = "Details" e funziona solo se ci sono elementi preesistenti nella listview (mi pare logico: se non ci sono item dove la disegna?!)..
Per incrementare lo stato fai così:
dove x è l'incremento --> x = 50 --> metà barra riempita (o vuota, dipende dai punti di vista..)codice:pb.Increment(x)
Spero di esserti stato utile..
Ciao![]()
se metto la colonna 7 per esempio il progressbar viene posizionato sempre alla colonna 2 e poi inoltre non rispetta la grandezza della colonna ma è decentrato.... nn è che potresti spedirmi proprio un file compilato di esempio?... cmq ti ringrazio
PS: poi come posso stabilire l'altezza di una riga in list view ?
Perfetto! Senza mezzi termini. :berto:nn è che potresti spedirmi proprio un file compilato di esempio?... cmq ti ringrazio
scusami ma che c'è di male??? :berto: :berto: :berto: :berto:
File compilato di esempio ?! Forse il progetto intendi.. Cmq non l'ho fatto..avevo semplicemente copiato il tuo script e nell'evento Load del form (per comodità) ho creato la progress bar.Originariamente inviato da pacixone
se metto la colonna 7 per esempio il progressbar viene posizionato sempre alla colonna 2 e poi inoltre non rispetta la grandezza della colonna ma è decentrato.... nn è che potresti spedirmi proprio un file compilato di esempio?... cmq ti ringrazio
PS: poi come posso stabilire l'altezza di una riga in list view ?
Stabilire l'altezza di una riga non ti serve, e comunque dovresti aprire un'altra discussione..
Parli di decentramento: correggi la sub così:
Ciaocodice:Public Function ListView_AddProgressBar(ByRef pListView As System.Windows.Forms.ListView, ByVal ListViewItemIndex As Integer, ByVal ColumnIndex As Integer) As System.Windows.Forms.ProgressBar Dim r As Rectangle Dim pb As New System.Windows.Forms.ProgressBar r = pListView.Items(ListViewItemIndex).Bounds() r.Width = pListView.Columns(ColumnIndex).Width If ColumnIndex > 0 Then r.X = r.X + pListView.Columns(ColumnIndex - 1).Width End If pb.Parent = pListView pb.SetBounds(pListView.Columns(ColumnIndex).Width, r.Y, r.X, r.Height) pb.Visible = True Return pb End Function![]()
http://img70.imageshack.us/my.php?im...istviewln0.gif
Public Function ListView_AddProgressBar(ByRef pListView As System.Windows.Forms.ListView, ByVal ListViewItemIndex As Integer, ByVal ColumnIndex As Integer) As System.Windows.Forms.ProgressBar
Dim r As Rectangle
Dim pb As New System.Windows.Forms.ProgressBar
r = pListView.Items(ListViewItemIndex).Bounds()
r.Width = pListView.Columns(ColumnIndex).Width
If ColumnIndex > 0 Then
r.X = r.X + pListView.Columns(ColumnIndex - 1).Width
End If
pb.Parent = pListView
pb.SetBounds(pListView.Columns(ColumnIndex).Width, r.Y, r.X, r.Height)
pb.Visible = True
Return pb
End Function
Public Sub VisualizzaRecordXML()
Dim contatore As Integer
For contatore = 1 To Me.NumeroDiUsimRegistrate
Dim ITEM(8) As String
Dim L As ListViewItem
ITEM(0) = ds.Tables(contatore - 1).Rows(0).Item("ID")
ITEM(1) = ds.Tables(contatore - 1).Rows(0).Item("Numero3")
ITEM(2) = ds.Tables(contatore - 1).Rows(0).Item("Profilo")
ITEM(3) = ds.Tables(contatore - 1).Rows(0).Item("CreditoResiduo")
ITEM(4) = ds.Tables(contatore - 1).Rows(0).Item("ParzialeMeseInCorsoSMS")
ITEM(5) = ds.Tables(contatore - 1).Rows(0).Item("ParzialeMeseInCorsoEuro")
If ds.Tables(contatore - 1).Rows(0).Item("ParzialeMeseInCorsoEuro") <> "Non disponibile" Then
ITEM(6) = (CType(ds.Tables(contatore - 1).Rows(0).Item("ParzialeMeseInCorsoEuro"), Integer).ToString("n0") * 100 / Me.Importo_limite_supertuapiu).ToString("n0") & " %"
Else
ITEM(6) = "Valore 0"
End If
ITEM(7) = ds.Tables(contatore - 1).Rows(0).Item("DataUltimoAggiornamento")
L = New ListViewItem(ITEM)
Me.USIMElenco.Items.Add(L)
ListView_AddProgressBar(Me.USIMElenco, 0, 7)
Next
End Sub
questo è lo script trovato... il mio problema è quello di visualizzare un progressbar in una list view in modo da rendere un po la grafica accattivante e veloce. mi servirebbe creare in sostanza quelle list view come i programmi sharing che ti permettono di visualizzare lo stato del download...
io sinceramente è la prima volta che mi trovo in questa situazione quindi non so' se mi conviene usare un list view oppure un datagrid view visto che i dati sono xml... cerco anche un cosiglio... grazie
Invece di postare tutto, hai fatto ciò che ti ho detto già dalle prime risposte?
Perchè a me funziona, ti ho postato anche lo script modificato per l'adattamento alla colonna e ti ho fatto vedere anche come si visualizza..