A ToolBar kontrol segítségével gyorsgombokat adhatunk az alkalmazás felületének felső szegmenséhez, megkönnyítendő bizonyos funkciók elérését, melyek esetleg a menürendszer mélyén találhatóak. Felhasználására legjobb példa talán a Microsoft Word alkalmazás.
Példánkban egyszerűen feldobtunk egy ToolBar kontrolt a Form felületére, mely automatikusan el is „helyezkedett” a Form felső részében.
A kontrol gombjai egy Buttons nevű kollekcióban találhatóak, amennyiben adunk meg ilyen objektumokat. Ezt megtehetjük a kódban manuálisan is, de a kontrol tulajdonság lapján egy property-t szerkesztve könnyebb ezt elvégezni.
A gombok ToolBarButton típusúak, és négyfajta megjelenés illetve viselkedésforma kapcsolható hozzájuk.
- DropDownButton: ekkor a gomb mellett egy kis nyilat ábrázoló gombocska van, és a gombhoz kapcsolt ContextMenu objektum megjelenítését végzi el. A gomb DropDownMenu tulajdonsága tartalmazza a menü objektumát.
- PushButton: a gomb nyomógombként viselkedik, vagyis ha a Pushed tulajdonság értéke FALSE, akkor a gomb nem „ragad be”.
- ToggleButton: ekkor van lehetőség arra, hogy a gomb bent is maradjon egy nyomásra, majd a következőre ugorjon csak ki.
- Separator: sajátos szeparátorként viselkedhet a gomb, elválasztva a gombokat egymástól, lehetővé téve azok csoportosítását.
A gombok ImageIndex property-jében adható meg a kontrolhoz kapcsolt ImageList objektumban tárolt kép indexe, mely megjelenik a gomb felületén.
A kontrol valamely gombjára történő kattintás eseményét egy kezelővel dolgozhatjuk fel, ahol a kezelőmetódus ToolBarButtonClickEventHandler típusú.
this.toolBar1.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar1_ButtonClick);
A függvény második paramétere ToolBarButtonClickEventArgs típusú, melynek Button property-je tartalmazza a megnyomott gomb objektumát. Így azt csak le kell kérdeznünk, és máris szelektálhatjuk a kattintásokat.
private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if (toolBarButton2.Equals(e.Button))
{
textBox1.Text = "A második gombra kattintott";
}
}