Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ιδέες για MDI

Îåêßíçóå áðü ôï ìÝëïò Panagiotis Kefalidis. Τελευταία δημοσίευση από το μέλος Panagiotis Kefalidis στις 06-02-2006, 16:21. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  06-02-2006, 14:37 9298

    Hmm [^o)] Ιδέες για MDI

    Το πράγμα έχει ως εξής:

    Ας πούμε ότι έχουμε 3 forms.. MainForm , Form2 και Form3.Η MainForm είναι MDIParent και φυσικά το IsMdiContainer είναι true.
    Τώρα.. Όταν καλούμε την Form3 , στο Load της MainForm τότε κάνουμε απλά:
    Form Form3 = new Form3();
    Form3.MdiParent = this;
    Form3.Show();


    και εμφανίζεται η Form3 όπως θα έπρεπε.Όταν όμως θέλουμε να κάνουμε MDIParent την MainForm στην Form2, μέσα απο την Form3 (να καλέσουμε δηλαδή, την Form2 μέσα απο την Form3, και να πούμε ότι η Form2 έχει MDIParent την MainForm), τότε πώς το κάνουμε?
    Η μια μου προσέγγιση ήτανε να κάνει ενα EventRaise η Form3 το οποίο το κάνει handle η MainForm και δημιουργεί/καλεί την Form2, ενώ η άλλη προσέγγιση ήτανε να κάνω την MainForm public initiliaze και να την κάνω assign στο property MDIParent των Forms.

    Καμία καλύτερη/εναλλακτική ιδέα?

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  06-02-2006, 14:52 9299 σε απάντηση της 9298

    Απ: Ιδέες για MDI

    Θα σου δώσω την απάντηση που θες αλλά συγνώμη θα είναι σε VB.NET Θα σου είναι όμως εύκολο να καταλάβεις την λογική και αντίστοιχα να μετατρέψεις τις εντολές στη γλώσσα που θέλεις εσύ.

    Όταν καλείς την Form2 μέσα από την Form3 τότε θα γράψεις την εξής γραμμή κώδικα :

    Form2.MdiParent=Me.MdiParent (Το Me παραπέμπει στην Form3)

    Ελπίζω να βοήθησα.
  •  06-02-2006, 15:06 9303 σε απάντηση της 9298

    Απ: Ιδέες για MDI

    Μάλλον δεν κατάλαβες τι θέλω να κάνω.. ΔΕΝ θέλω να είναι MDIParent η Form3, για την Form2, αλλά η MainForm.
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  06-02-2006, 15:34 9306 σε απάντηση της 9298

    Απ: Ιδέες για MDI

    Bάλε ένα public/friend member ως form type στην Form3 όπου θα περνάει το reference του εαυτού της η MainForm μόλις δημιουργεί τη Form3. Κατόπιν, όταν θα φτιάχνεις την form2, θα το κάνεις assign στο MdiParent property της form2.

    Χμμμ... αλλά να μου πεις, αυτό το έχεις ήδη στο ΜdiParent της Form3... Άρα που είναι το πρόβλημα, αν πεις

    Form Form2 = new Form2();
    Form2.MdiParent = Form3.MdiParent;
    Form2.Show();


    Vir prudens non contra ventum mingit
  •  06-02-2006, 16:01 9307 σε απάντηση της 9306

    Απ: Ιδέες για MDI

    Μάλλον δεν κατάλαβες αυτό που έγραψα.
    Ο KelMan έγραψε ακριβώς το ίδιο με παραπάνω γραμμές κώδικα.
    Αντί όμως το Form3 εγώ έβαλα Me.
  •  06-02-2006, 16:21 9308 σε απάντηση της 9298

    Απ: Ιδέες για MDI

    Ooops, thanx και στους δυο.. όντως δεν κατάλαβα με την πρώτη τι μου έγραφες infoCENTER.Sorry Wink [;)] Να σας πω την αλήθεια, ούτε που το σκέφτηκα οτι μπορεί να γίνει κι ετσι.. Μέχρι στιγμής το έκανα με τους δυο παραπάνω τρόπους που ανέφερα.. Θα προσθέσω κι αυτόν, γιατι έχω σκοπό να κάνω ενα blogpost..

    Thank you both. Big Smile [:D]
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems