elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Listview con progress Downloader
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Listview con progress Downloader  (Leído 2,728 veces)
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Listview con progress Downloader
« en: 23 Julio 2014, 20:43 pm »

HOLA!!!

 Queria saber si alguien tenia un ejemplo de lo de arriba para vbnet gracias!

GRACIAS POR LEER!!!


En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Listview con progress Downloader
« Respuesta #1 en: 23 Julio 2014, 22:22 pm »

Hola, lo que pides no es un tema sencillo de resumir en pocas palabras.

Hace mucho tiempo, en mis inicios, subclaseé el Listviewe y cada cierto tiempo le fui añadiendo características de todo tipo, como por ejemplo la barra de progreso en la que estás interesado.

Estos son los miembros que te interesarán de mi user-control:



Código:
ProgressBar_Enabled
Progressbar_Column
ProgressBar_BackColor
ProgressBar_BorderColor
ProgressBar_FillColor1
ProgressBar_FillColor2
ProgressPercent
ProgressPercent_Decimal
ProgressPercent_Text
ProgressPercent_Text_Allignment
ProgressPercent_Text_Trimming
ProgressPercent_Font
ProgressPercent_Forecolor

Nótese las propiedades 'ProgressBar_Enabled' y 'Progressbar_Column', la primera propiedad determina si la barra de progreso se debe dibujar, y la segunda propiedad determina la columna en la que se dibujará la barra de progreso (en todas las celdas de la columna especificada).

PD: De todas formas esto es un proyecto sin terminar, porque se usa la misma barra de progreso para cada fila, es decir el porcentaje afecta a todas las barras, le daré un repaso al código para ver si subclaseando el 'ListViewItem' y/o 'ListViewItem.ListViewSubItem' puedo hacerle los cambios necesarios.



Aquí tienes el source completo:

· ElektroListview

Y aquí un ejemplo mucho más reducido que guardé hasta ahora:

Código
  1. #Region " [ListView] Draw ProgressBar "
  2.  
  3.    ' [ [ListView] Draw ProgressBar ]
  4.  
  5.    Private Listview_Column As Integer = 4 ' The column index to draw the ProgressBar
  6.  
  7.    Private Percent As Double = 0 ' The progress percentage
  8.    Private Percent_DecimalFactor As Short = 1 ' Example: 0.1
  9.    Private Percent_Text As String = "% Done" ' Example: 0.1% Done
  10.    Private Percent_Forecolor As Brush = Brushes.Black
  11.    Private Percent_Font As Font = Me.Font
  12.  
  13.    Private ProgressBar_BackColor As Brush = Brushes.White
  14.    Private ProgressBar_BorderColor As Pen = Pens.LightGray
  15.    Private ProgressBar_FillColor1 As Color = Color.YellowGreen
  16.    Private ProgressBar_FillColor2 As Color = Color.White
  17.  
  18.    ' ListView [Layout]
  19.    Private Sub ListView1_Layout(sender As Object, e As LayoutEventArgs) _
  20.    Handles ListView1.Layout
  21.  
  22.        ' Set Listview OwnerDraw to True, so we can draw the progressbar.
  23.        ListView1.OwnerDraw = True
  24.  
  25.    End Sub
  26.  
  27.    ' ListView [DrawColumnHeader]
  28.    Private Sub ListView_DrawColumnHeader(ByVal sender As Object, ByVal e As DrawListViewColumnHeaderEventArgs) _
  29.    Handles ListView1.DrawColumnHeader
  30.  
  31.        e.DrawDefault = True ' Draw default ColumnHeader.
  32.  
  33.    End Sub
  34.  
  35.    ' ListView [DrawItem]
  36.    Private Sub ListView_DrawItem(ByVal sender As Object, ByVal e As DrawListViewItemEventArgs) _
  37.    Handles ListView1.DrawItem
  38.  
  39.        e.DrawDefault = False ' Draw default main item.
  40.  
  41.    End Sub
  42.  
  43.    ' ListView [DrawSubItem]
  44.    Private Sub ListView_DrawSubItem(ByVal sender As Object, ByVal e As DrawListViewSubItemEventArgs) _
  45.    Handles ListView1.DrawSubItem
  46.  
  47.        If (e.ItemState And ListViewItemStates.Selected) <> 0 Then
  48.            ' Item is highlighted.
  49.            e.Graphics.FillRectangle(SystemBrushes.Highlight, e.Bounds)
  50.        End If
  51.  
  52.        ' Draw the progressbar.
  53.        If e.ColumnIndex = Listview_Column Then
  54.  
  55.            ' Center the text in the progressbar.
  56.            Dim sf As New StringFormat
  57.            sf.Alignment = StringAlignment.Center
  58.  
  59.            ' Background color of the progressbar is white.
  60.            e.Graphics.FillRectangle(ProgressBar_BackColor, e.Bounds)
  61.  
  62.            ' Percentage of the progressbar to fill.
  63.            Dim FillPercent As Integer = CInt(((Percent) / 100) * (e.Bounds.Width - 2))
  64.  
  65.            ' This creates a nice color gradient to fill.
  66.            Dim brGradient As Brush = _
  67.                New System.Drawing.Drawing2D.LinearGradientBrush(New Rectangle(e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height), _
  68.                                                                 ProgressBar_FillColor1, ProgressBar_FillColor2, 270, True)
  69.            ' Draw the actual progressbar.
  70.            e.Graphics.FillRectangle(brGradient, _
  71.                                     e.Bounds.X + 1, e.Bounds.Y + 2, _
  72.                                     FillPercent, e.Bounds.Height - 3)
  73.  
  74.            ' Draw the percentage number and percent sign.
  75.            ' NOTE: make sure that e.SubItem.Text only contains a number or an error will occur.
  76.            e.Graphics.DrawString(Percent.ToString("n" & Percent_DecimalFactor) & Percent_Text, _
  77.                                  Percent_Font, Percent_Forecolor, _
  78.                                  CSng(e.Bounds.X + (e.Bounds.Width / 2)), e.Bounds.Y + 3, _
  79.                                  sf)
  80.  
  81.            ' Draw a light gray rectangle/border around the progressbar.
  82.            e.Graphics.DrawRectangle(ProgressBar_BorderColor, _
  83.                                     e.Bounds.X, e.Bounds.Y + 1, _
  84.                                     e.Bounds.Width - 1, e.Bounds.Height - 2)
  85.        Else
  86.            e.DrawDefault = True
  87.  
  88.        End If
  89.  
  90.    End Sub
  91.  
  92. #End Region


« Última modificación: 23 Julio 2014, 22:38 pm por Eleкtro » En línea



79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: Listview con progress Downloader
« Respuesta #2 en: 24 Julio 2014, 16:01 pm »

HOLA!!!

Buen dato!

Voy a intentar implementar tu code.

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dude (work In Progress)
Diseño Gráfico
+ enrique ZP 7 3,300 Último mensaje 29 Julio 2005, 13:34 pm
por wvb
Progress Bar
Programación Visual Basic
juanjoxx 2 2,191 Último mensaje 1 Abril 2006, 23:35 pm
por [VolkS]
Progress Bar ........... No me entero.
Programación Visual Basic
el_trocha 1 1,726 Último mensaje 17 Septiembre 2007, 19:53 pm
por LeandroA
AYUDA con mi Progress Bar por favorrrrrrrrrrrrrr
Programación Visual Basic
el_trocha 3 1,663 Último mensaje 28 Septiembre 2007, 13:17 pm
por zXxOsirisxXz
Progress Bar o Gif animado
Java
Alon3 2 4,484 Último mensaje 12 Noviembre 2011, 07:29 am
por 1mpuls0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines