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

 

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

Απενεργοποίσηση του animation των MDI children

Îåêßíçóå áðü ôï ìÝëïò pontifikas. Τελευταία δημοσίευση από το μέλος pontifikas στις 11-11-2011, 09:47. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  09-11-2011, 11:05 68074

    Απενεργοποίσηση του animation των MDI children

    Είναι δυνατό να γίνει?
    Έχω στο MDI container μου ένα δέντρο από το οποίο κάνω access όλες τις ανοικτές φόρμες. Οπότε μόλις επιλέγω μια φόρμα από το δέντρο,
    βλέπω όλη την κίνηση της εναλλαγής από την μια φόρμα στην άλλη (normalize και μετά maximize).
    Ή όταν επιλέγω μια δυνατότητα που έχω να κάνω όλες τις ανοικτές φόρμες Minimize, βλέπω να παρελαύνουν όλες οιι φόρμες μπροστά μου.
    Και αυτό είναι εκνευριστικό.
    Μπορώ να Κάνω τις φόρμες να μεταβάλλουν την κατάστασή τους κατ'ευθείαν χωρίς ενδιάμεσα στάδια?
  •  09-11-2011, 21:26 68079 σε απάντηση της 68074

    Απ: Απενεργοποίσηση του animation των MDI children

    Ίσως πρέπει να παίξεις με το visibility των φορμών, αλλά δεν είμαι σίγουρος ότι είναι και ο ενδεδειγμένος τρόπος. Για παράδειγμα, θα μπορούσες να κάνεις override το OnResize protected method κάπως έτσι:

    protected override void OnResize(EventArgs e)
    {
         this.Visible = false;
         base.OnResize(e);
         this.Visible = true;
    }
    Βέβαια, αν θες μεγαλύτερο έλεγχο, υπάρχουν και τα OnResizeBegin και OnResizeEnd, καθώς και το OnSizeChanged. Ή αντί να κάνεις override τις μεθόδους σε κάθε μία φόρμα, να γράψεις κάποια μέθοδο που θα παίζει με το visibility στο collection που τις έχεις όλες μαζί. Αν τώρα μπορεί να γίνει κάτι χωρίς ν' αγγίξεις το visibility δεν το ξέρω...



    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
  •  10-11-2011, 00:47 68080 σε απάντηση της 68079

    Απ: Απενεργοποίσηση του animation των MDI children

    Το θέμα μπορεί να είναι τελικά ο τρόπος με τον οποίο κάνω activate τις φόρμες μέσα από το δέντρο μου. Αυτό το λέω διότι πάτησα κατά λάθος το Alt+Tab
    και συνειδητοποίησα ότι η εναλλαγή ήταν ομαλότατη. Με το Alt+Tab την εναλλαγή την κάνει το MDI container. Αλλά ποια συνάρτηση χρησιμοποιεί για να κάνει 
    activate το εκάστοτε child. Εγώ κάνω BringToFront τις φόρμες που επιλέγω στο Δέντρο. Αύριο θα δοκιμάσω και μερικά άλλα και θα δώ.
  •  11-11-2011, 09:47 68099 σε απάντηση της 68080

    Απ: Απενεργοποίσηση του animation των MDI children

    Την βρήκα την λύση. Όντως τελικά είχε να κάνει με την, ας πούμε, εσωτερική λειτουργία του MDI Control.

    Η λύση βρίσκεται σε αυτή τη σελίδα: http://www.codeproject.com/KB/bugs/MgdMDIClientActivation.aspx
    και βασίζεται στο γεγονός ότι κάθε φόρμα που δηλώνεται σαν MDI container, δημιουργεί ένα Control του τύπου
    MdiContainer το οποίο διατηρεί λίστα με τα MDI Children διατεταγμένα με σειρά τελευταίας προσπέλασης.


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems