Veremszerű adattároláshoz a Stack osztályból kell egy példányt létrehoznunk. Ezt rögtön a Form-unk deklarációjánál meg is tesszük és létrehozunk egy st nevű változót.
Private st As Stack = New Stack()
A verembe adatot elhelyezni a Push függvénnyel lehetséges. Paraméterként egy Object típusú objektumot vár, vagyis szinte bármilyen típusú adat elhelyezhető. Mellékelt példában a Push gomb a TextBox1-be írt szöveget helyezi el a verembe.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
st.Push(TextBox1.Text)
UpdateLabel1()
End Sub
Majd az UpdateLabel1 belső függvényünk hívásával elérjük, hogy megjelenjen a veremben lévő elemek darabszáma a Label1 kontrollon. Ehhez a Stack osztály Count property-jét használjuk fel.
Private Sub UpdateLabel1()
Label1.Text = "Count: " + st.Count.ToString()
End Sub
A verembe elhelyezett adatokat kiolvasni a Pop függvénnyel lehet. A Pop hívásakor a kiolvasott elem egyúttal eltávolításra is kerül a veremből, tehát az ott tárolt elemek száma is csökken eggyel.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If st.Count > 0 Then
Label2.Text = st.Pop().ToString()
UpdateLabel1()
End If
End Sub
A Peek függvény használatával lehetőségünk van arra is, hogy a verem legfelső elemét, hasonlóan a Pop-hoz kiolvassuk, viszont ezt úgy, hogy ez az elem kiolvasás után is megmarad a veremben, vagyis nem kerül eltávolításra, mint a Pop esetén.
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
If st.Count > 0 Then
Label3.Text = st.Peek().ToString()
UpdateLabel1()
End If
End Sub
Arra is van lehetőségünk, hogy ne csak a legfelső eleméhez jussunk hozzá a veremnek, hanem a teljes tartalmához, mégpedig úgy, hogy azok ne kerüljenek törlésre. Ehhez a ToArray függvényhívást kell használnunk, mely egy olyan tömböt ad vissza, melynek minden eleme Object típusú. A tömb egyes elemei a verem egyes elemei lesznek. Így például egy For Each ciklussal könnyen végigmehetünk a verem elemein.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim array() As Object = st.ToArray()
Dim s As Object
ListBox1.Items.Clear()
For Each s In array
ListBox1.Items.Add(s.ToString())
Next
End Sub
A verem összes elemét törölhetjük egy lépésben, ha a Clear függvényt meghívjuk.
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
st.Clear()
UpdateLabel1()
End Sub