Snolly Δημοσ. 6 Μαρτίου 2003 Δημοσ. 6 Μαρτίου 2003 ΟΚ. Φανταστείτε πως στο project μου έχω 2 φόρμες και είναι πανομοιότυπες. Η κάθε φόρμα περιέχει: 1. 1 Button 2. 1 TextField 3. 1 Label Θέλω στην βασική μου φόρμα να γράφω κάτι στο TextBox, να πατάω το button, να ανοίγει η δεύτερη φόρμα, και η τιμή του textfield της 1ης να εμφανίζεται στο label της 2ης. Απλά δηλαδή ΠΩΣ φορτώνω μια φόρμα και πως περνάω μεταβλητές από τη μία φόρμα στην άλλη; Επίσης πως μπορώ να εκτελέσω μια μέθοδο μιας φόρμας ενώ βρίσκομαι σε άλλη; Ελπίζω να μη σας έμπλεξα.
apoc Δημοσ. 6 Μαρτίου 2003 Δημοσ. 6 Μαρτίου 2003 Αν θυμαμαι καλα οι φορμες ειναι Κλασεις στην VB.Net .Ορισε στην κλαση μια μεταβλητη (instance variable) και με το button Και το textfield δωστης μια τιμή! Οταν θες λοιπον να δεις αυτη την τιμη απο καποιο αλλο Object βλεπε το Form2 τοτε απλα καλεσε το Form1.<onomametabliths> . Αν θες να εισαι πιο σωστος , κανε την μεταβλητη Private και με get και set methods αλλαζε την τιμη της! Αντιστοιχα λοιπον συμβαινει και με τα methods! Εστω οτι εχω την class Form1 Και εχω δημιουργησει ενα Object Form1Obj τοτε μπορω να καλεσω με dot Notation (. ) τις μεθοδους του. Aρα για σενα απλα θα ειναι objeForm.<methodToCall> Ελπιζω να βοηθησα..με μια μικρη επιφυλαξη οτι μπορει να κανω λαθος..την VB.Net την εχω δει πολυ στα γρηγορα!παρολα αυτα θυμαμαι οτι αυτα που λεω παραπανω παιζουν!
Snolly Δημοσ. 6 Μαρτίου 2003 Μέλος Δημοσ. 6 Μαρτίου 2003 Δυστυχώς αυτά θυμίζουν Java. Δεν δουλεύει με dots στη VB .NET. Με form2. δεν παιρνω τα objects του form2.
apoc Δημοσ. 6 Μαρτίου 2003 Δημοσ. 6 Μαρτίου 2003 επιφυλασομαι για μερικα λεπτα ακομα..μιας και το ποστ ηταν ευκαιρια να εγκαταστησω ξανα το SDK...
brakos Δημοσ. 6 Μαρτίου 2003 Δημοσ. 6 Μαρτίου 2003 Γεια χαρα. Μολις τωρα γραφτηκα στο forum και ειπα να βοηθησω... Αν καταλαβα καλα με τα objects που εχεις θα πρεπει Μεσα στο Command1_Click() θα γραψεις : form2.label1.caption = form1.text1.text Δοκιμασε και πες μου...
brakos Δημοσ. 6 Μαρτίου 2003 Δημοσ. 6 Μαρτίου 2003 Α. και κατι αλλο ... Πρεπει πριν το form2.label..κλπ οπως γραφω, να γραψεις : form2.show ωστε να εμφανιστει η φορμα Με formX.show ή formX.hide εμφανιζεις ή κρυβεις μια φορμα. Οπου Χ ο αριθμος της φορμας.
Snolly Δημοσ. 6 Μαρτίου 2003 Μέλος Δημοσ. 6 Μαρτίου 2003 Brakos φίλε μου να 'σαι καλά και καλωσήρθες αλλά αυτά που μου λες είναι για VB 6.0 και κάτω. Στη VB .NET είναι αλλιώς. Κάτι έκανα... Dim NewForm as NewForm() NewForm.show() και την εμφανίζει αλλά είναι νέο copy του class και έχουν χαθεί όλες οι ιδιότητες των objects μου πάνω σε αυτό το class...
apoc Δημοσ. 6 Μαρτίου 2003 Δημοσ. 6 Μαρτίου 2003 (ακομα Install κανω το .Net) Snolly αν καταλαβα καλα τα 2 form προερχοντε απο την ιδια class δηλαδη εχουν τα ιδια χαρακτηριστικα! Αυτο που θες ειναι λοιπον καποια χαρακτηριστικα να ειναι τα ιδια και στα 2 Object οταν αλλαζουν δηλαδη στο ενα ..να μπορει το αλλο να τα δει! Πολυ απλα λοιπον ..πηγαινε και στο declaration της Class κανε declare ενα static string variable. > Static myStrMessage as String Το static σημαινει οτι το συγκεκριμενο variable θα ειναι κοινο και στα 2 Object της form class (και οχι μια νεα κοπια ανα Object).Οποτε και τα 2 object αφου προερχοντε απο το ιδιο class. θα εχουν προσβαση στην κοινη μεταβλητή! Αny luck? Προσπαθω να σε πετυχω στο Mirc καναλι..αλλα μαλλον δεν το κοιτας!
apoc Δημοσ. 6 Μαρτίου 2003 Δημοσ. 6 Μαρτίου 2003 Χα οκ τα μπερδεψαμε λιγο με την Java αλλα ενταξει οσο ζεις μαθαινεις! Στην VB.NET δεν ειναι το static αλλα το shared > Shared myStr as String Αρα απο το form1.myStr και απο το form2.myStr θα παιρνεις την ιδια τιμη...αφου ειναι κοινη μεταβλητη! Παραθετω και link http://www.vbip.com/books/1861007167/chapter_7167_08.asp
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.