Guida al Visual Basic .NET
Capitolo 68° - NotifyIcon e SplitContainer
NotifyIcon
La parte inferiore destra della barra delle applicazioni di Windows è denominata System Tray e raggruppa tutte le icone dei programmi
correntemente in esecuzione sul sistema operativo, ovviamente solo se questi ne richiedono una. Ecco uno screenshot:
Per aggiungere un'icona al progetto, che verrà automaticamente visualizzata in questo spazio dopo l'avvio dell'applicazione, è sufficiente
aggiungere al designer un controllo NotifyIcon, che non ha interfaccia grafica in ambiente di sviluppo. Le proprietà interessanti sono
queste:
- BaloonTipIcon : determina l'icona da visualizzare a sinistra del titolo del fumetto (si può scegliere tra error, info e warning)
- BaloonTipText : testo del fumetto
- BaloonTipTitle : titolo del fumetto
- Icon : icona visualizzata nella system tray (si possono scegliere solo file icona *.ico)
- ShowBaloonTip(x) : visualizza il fumetto dell'icona per x millisecondi (2000 è una buona media)
- Text : descrizione visualizzata quando il mouse sosta per qualche secondo sull'icona
Come molti altri controlli, anche questo supporta un menù contestuale grazie al quale si possono eseguire molte operazioni anche in assenza
dell'interfaccia utente completa. Inoltre vengono registrati anche eventi come il Click o il doppio Click del mouse sull'icona e mediante
questi si può ridurre il form in modo che non appaia nella barra delle applicazioni ma che presenzi solamente l'icona nella System Tray.
Il codice da usare in casi simili è molto semplice:
'Nasconde il form dalla barra delle applicazioni Me.ShowInTaskBar = False 'Rende il form invisibile Me.Visible = False 'Se l'icona non è già visibile, la rende visibile Me.nftIcon.Visible = True
Per riportare tutto allo stato precedente è sufficiente invertire i valori booleani.
Fumetto
SplitContainer
Anche lo SplitContainer è un contenitore, e può rivelarsi davvero molto utile. La sua peculiarità consiste nel poter ridimensionare con il
mouse, spostando quello che viene chiamato splitter, le due parti del controllo. Ogni parte è una superficie contenitore a sè stante
e viene rappresentata da un oggetto Panel. Ecco le proprietà più significative:
- BorderStyle : proprietà enumerata che descrive lo stile dei bordi: assenti (None), a linea singola (Single) o 3D (Fixed3D)
- FixedPanel : specifica quale dei due pannelli debba restare di dimensioni fisse durante l'atto di ridimensionamento
- IsSplitterFixed : determina se lo splitter è fisso o può muoversi
- Orientation : indica l'orientamento dei pannelli, se verticale o orizzontale
- Panel1 : riferimento al pannello 1; gli SplitterPanel non hanno alcuna proprietà differente da Control, e perciò non vale la pena
di soffermarsi altro tempo su questi
- Panel1Collapsed : determina se all'inizio il Panello 1 sia collssato, ossia privo di dimensione, il che implica che solo il Pannello 2 sia
visibile
- Panel1MinSize : la dimensione minima del Pannello 1; si riferisce alla larghezza se Orientation = Vertical, altrimenti all'altezza
- Panel2... : le stesse di Panel 1
- SplitterDistance : la distanza dello splitter dall'angolo superiore sinistro, in pixel
- SplitterIncrement : l'incremento della posizione splitter quando viene mosso dal mouse, in pixel
- SplitterWidth : la larghezza dello splitter, in pixel
A proposito dell'autore
C#, TypeScript, java, php, EcmaScript (JavaScript), Spring, Hibernate, React, SASS/LESS, jade, python, scikit, node.js, redux, postgres, keras, kubernetes, docker, hexo, etc...
|