1.) Du initialisierst i nicht. Woher soll das Programm wissen, welchen Wert i am Anfang hat?
2.) Dein i 'lebt' nur solange, wie die Methode läuft.
Also jedesmal, wenn Du den Button drückst wird ein neues i erzeugt (an irgendeiner Stelle im Speicher), es wird kein Wert zugewiesen, d.H. i hat als Integer den Wert, der vorher zufällig mal auf dieser Speicheradresse stand. Beim Wertebereich von einem Integer ist es halt meist so, daß i nicht unbedingt 0 ist
Dann wird i um eins erhöht, da der Wert vorher unbekannt ist hilft das aber nicht viel.
Mach aus Deinem i also eine globale Variable (zumindest mal globaler als lokal, eine Membervariable auf dem Form bietet sich an, Du kannst aber auch die TAG - Eigenschaft des Buttons nehmen), und gaaanz wichtig: Weise der gewählten Variable beim Programmstart einen Wert zu (in dem Fall bietet sich 0 an).
Dann solltest Du damit keine Probleme haben.