Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Guida al Visual Basic .NET - ToolStrip e TabControl

Guida al Visual Basic .NET

Capitolo 67° - ToolStrip e TabControl

<< Precedente Prossimo >>

ToolStrip

Tutti conoscono benissimo l'interfaccia di Microsoft Word, dove sopra lo spazio in cui si scrive ci sono miridai di icone, ognuna con la propria funzione (Salva, Apri, Nuovo, Copia, Incolla ecc...): la barra degli strumenti, così chiamata, dove sono collocate quelle icone è una ToolStrip. Ecco osservare un esempio di toolstrip creata con vb.net:

ToolStrip.jpg
Le proprietà principali di una toolstrip:

  • ImageScalingSize: molto importante, determina di che dimensione saranno le immagini della toolstrip; per impostarle della dimensione di quelle di Word si lasci pure 16;16 (16x16), mentre per farla apparire con la stessa dimensione di quelle in immagine un 24;24 è accettabile (consiglierei di non andare troppo oltre)
  • Items: l'insieme degli elementi della toolstrip; ciò che si può mettere nella toolstrip è un piccolo gruppo di controlli normalissimi, già analizzati, ossia: Button (un normale pulsante: nell'immagine, Testi e Cronologia sono Button); DropDownItems (menù a discesa, identico a MenuStrip: nell'immagine Documenti è un dropdownitem); SplitButton (una fusione tra button e dropdownitems, poichè gode di un evento click pur essendo una lista a discesa); Label (una normalissima etichetta di testo: nell'immagine Nome è una label); TextBox (casella di testo: nell'immagine il testo "Nicolo'" contenuto in una textbox); ComboBox (lista a cascata: nell'immagine è il primo controllo della seconda riga); ProgressBar (ultimo controllo); Separator (un separatore, ossia una barra verticale che separa gli elementi: nell'immagine è presente fra Documenti e Nome)
  • TextDirection: direzione del testo

Per rendere più aggraziata la veste grafica del programma, una toolstrip è molto utile.
Un'ultima cosa: facendo click col pulsante destro sulla toolstrip in fase di progettazione, si disporrà di varie opzioni, fra cui quelle di Aggiungere uno Strumento, Convertire un controllo in altro tipo e Aggiungere alla barra le icone standard di lavoro (ossia Apri, Nuovo, Salva, Copia, Incolla e Taglia, già corredate di icona).

TabControl

TabControl è un controllo formato da più schede sovrapposte, ognuna delle quali contiene al proprio interno una interfaccia diversa. Questo controllo, infatti, insieme a GroupBox, SplitPanel e pochi altri, è un contenitore creato appositamente per ordinare più controlli, in questo caso c'è la possibilità di stipare una enorme quantità di layout in poco spazio: ogni scheda (Tab) è accessibile con un click e cambia l'interfaccia visualizzata.

TabControl.jpg
A seconda della proprietà Appearance, TabControl può presentarsi sotto tre vesti grafiche differenti, come mostrato in figura: in ordine dall'alto al basso sono Normal, Buttons e FlatButtons. Per inserire uno o più controlli all'interno di una scheda è sufficiente trascinarli con il mouse oppure aggiungerli da codice facendo riferimento alla proprietà TabPages. Ecco la lista delle proprietà più rilevanti:

  • Appearance : lo stile di visualizzazione
  • ItemSize : la dimensione dell'intestazione delle schede
  • Multiline : se impostato su True, qualora le schede fossero troppe, verranno visualizzate diverse file di header una sopra all'altra; altrimenti appariranno due pulsantini a mò di scrollbar che permetteranno di scorrerle orizzontalmente. Nel primo caso, la proprietà in sola lettura RowCount restituisce il numero di righe visualizzate
  • TabPages : collezione di tutte le schede disponibili sotto forma di oggetti TabPage

Per portare in primo piano una scheda è possibile richiamare da codice il metodo TabControl.SelectTab(Index), passando come unico parametro l'indice della scheda da rilevare, o, in alternativa, tutto l'oggetto TabPage.

<< Precedente Prossimo >>
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...