Salve, domanda chiara e coincisa:
è possibile visualizzare una progressbar all'interno di un oggetto panel di una statusbar? :maLOL: :maLOL: :maLOL:
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
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.
Puoi darmi un esempio della prima soluzione? te ne sarei molto grato
![]()
L'aquilone è simbolo che l'uomo vuole andare più su
Ecco un esempio:
Naturalmente perc è la variabile che contiene la percentuale da rappresentare nel panel, valore compreso tra 0 e 100.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
Chi non cerca trova.
Grazie Tas, cercherò di adattarlo alle mie esegenze...
![]()
L'aquilone è simbolo che l'uomo vuole andare più su
Non mi esce...![]()
![]()
![]()
per favore aiutatemi
L'aquilone è simbolo che l'uomo vuole andare più su
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.
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
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:
Automaticamente verrà richiamata la sub StatusBar1_DrawItem che si adatterà al nuovo valore di perc.codice:perc = perc + 10 StatusBar1.Refresh
Chi non cerca trova.