Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [vb.net]StatusBar e ProgressBar

    Salve, domanda chiara e coincisa:
    è possibile visualizzare una progressbar all'interno di un oggetto panel di una statusbar? :maLOL: :maLOL: :maLOL:
    L'aquilone è simbolo che l'uomo vuole andare più su

  2. #2
    In VB.NET 2003 non mi sembra facilmente realizzabile, a meno di impostare la proprietà Style del StatusBarPanel su StatusBarPanelStyle.OwnerDraw e disegnare da codice una propria status bar.
    Per la cronaca, la prossima incarnazione di VB.NET (2005) permette invece l'inserimento della statusbar in maniera semplicissima!
    Chi non cerca trova.

  3. #3
    Puoi darmi un esempio della prima soluzione? te ne sarei molto grato
    L'aquilone è simbolo che l'uomo vuole andare più su

  4. #4
    Ecco un esempio:
    codice:
        Private perc As Integer = 90
    
        Private Sub StatusBar1_DrawItem(ByVal sender As Object, ByVal sbdevent As System.Windows.Forms.StatusBarDrawItemEventArgs) Handles StatusBar1.DrawItem
            With sbdevent
                If .Index = 0 Then     '0=indice nella collection dei panel
                    Dim p As New Pen(Brushes.Blue)
    
                    Dim r As New Rectangle(.Bounds.X, .Bounds.Y, .Bounds.Width / 100 * perc, .Bounds.Height)
                    .Graphics.DrawRectangle(p, r)
                    .Graphics.FillRectangle(Brushes.Blue, r)
                End If
            End With
        End Sub
    Naturalmente perc è la variabile che contiene la percentuale da rappresentare nel panel, valore compreso tra 0 e 100.
    Chi non cerca trova.

  5. #5
    Grazie Tas, cercherò di adattarlo alle mie esegenze...

    L'aquilone è simbolo che l'uomo vuole andare più su

  6. #6
    Non mi esce...

    per favore aiutatemi
    L'aquilone è simbolo che l'uomo vuole andare più su

  7. #7
    Ti assicuro che quell'esempio funziona, controlla che:
    • la proprietà Style del primo panel sia impostata su OwnerDraw
    • la proprietà ShowPanels della StatusBar sia True
    Chi non cerca trova.

  8. #8
    mi correggo: l'esempio che mi hai fornito funziona, ma come posso utilizzarlo a mo' di ProgressBar?
    dovrei ridisegnare ogni volta l'intera statusbar con spreco di righe di codice inutile?
    L'aquilone è simbolo che l'uomo vuole andare più su

  9. #9
    Non preoccuparti, il ridisegno dell'area è una operazione comune in quasi tutte le aree visibili di una applicazione!
    Per utilizzare correttamente l'esempio che ti ho fornito, tutte le volte che cambi il valore di perc ricordati di forzare il ridisegno l'area in questo modo:
    codice:
    perc = perc + 10
    StatusBar1.Refresh
    Automaticamente verrà richiamata la sub StatusBar1_DrawItem che si adatterà al nuovo valore di perc.
    Chi non cerca trova.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.