Χωρίς να ξέρω C++, απλά θα προσπαθήσω να το περιγράψω και ελπίζω να το πω σωστά: label1->Text ειναι String property, ενώ το i σου είναι int. Αρα λοιπον για να μπορέσεις να θέσεις το Text property του label1 στην τιμή που αντιπροσωπεύει το i, θα πρέπει πρώτα να μετατρέψεις το i σε string. (Το λεγόμενο casting).
Νομίζω (και βοήθεια εδώ από τους γνώστες), οτι γίνεται κάπως έτσι: label1->Text=(string)i;
(Παρακαλώ πολύ τους γνώστες C++ να μην με βαρέσουν - πολύ - αν έγραψα βλακεία :) )
Οσο για την άλλη σου ερώτηση, (α, καλωσήρθες κιόλας!), αν ασχοληθείς με .NET θα πρότεινα για visual υλοποιήσεις να ξεκινήσεις από Windows Forms. Τα υπόλοιπα, θεωρώ οτι θα αποτελεσουν φυσική εξέλιξη.
Σωτήρης Φιλιππίδης
DotSee Web Services