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

 

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

Ερώτηση για Tab Control

Îåêßíçóå áðü ôï ìÝëïò DaltonGR. Τελευταία δημοσίευση από το μέλος Τάσκος Γιώργος στις 06-01-2010, 15:40. Υπάρχουν 8 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  04-01-2010, 18:00 56205

    Ερώτηση για Tab Control

    Καλησπερα,
    Εχο την εξής απορία, πείτε πως έχω ένα μενού με επιλογές στα δεξιά μιας φόρμας και θέλω όταν πατάει ο χρήστης την πρώτη επιλογή να ανοίγει σε ένα tabcontrol το αντίστοιχο tab. Για να γίνω πίο κατανοητός αυτό θα ήταν έυκολο να πατάει ο χρήστης μια επιλογή και να ανοίγει μια νέα φόρμα. Επειδή θέλω όμως να φύγω απο αυτό το μοντέλο σχεδίασης ρωτάω μήπως γίνεται και αλλίως. να έχω μια κεντρική φόρμα με ένα μενού στα δεξιά της φόρμας και ανάλογα με την επιλογή του χρήστη απο το tabcontrol που υπάρχει στη φόρμα να ανοίγει ένα αντίστοιχο tabpage...
    Ευχαριστώ εκ των προτέρων.
  •  04-01-2010, 19:56 56211 σε απάντηση της 56205

    Απ: Ερώτηση για Tab Control

    Τί ακριβώς ρωτάς? Πως να αλλάξεις το ενεργό tab ενός TabControl από κώδικα? Αυτό γίνεται με τη μέθοδο TabControl.SelectTab(). Πως να δείξεις κάθετο μενού στα δεξιά της φόρμας? Αυτό γίνεται αλλάζοντας το Dock property του MenuStrip από Top σε Right. Μετά στο Click event κάθε σχετικού item καλείς την SelectTab.

    Μπορείς μάλιστα να χρησιμοποιήσεις τον ίδιο κώδικα για όλα τα Menuitems ως εξής: Θέτεις το Tag property κάθε menu item στο όνομα της σελίδας που θέλεις να εμφανίσεις και στο Click να εμφανίζεις τη σελίδα που ορίζεται στο Tag:

    private void tabToolStripMenuItem_Click(object sender, EventArgs e)
    {
         ToolStripMenuItem item = (ToolStripMenuItem) sender;
         tabControl1.SelectTab((string) item.Tag);
    }

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  06-01-2010, 12:35 56238 σε απάντηση της 56211

    Απ: Ερώτηση για Tab Control

    Καλημέρα,
    Αυτό που θέλω να κάνω είναι όταν απο το μενού που θα έχει ο χρήστης επιλέξει κάποια ενέργεια αντί να ανοίγει κάθε φορά μια νέα φόρμα να ανοίγει ένα tabpage σε ένα tabcontrol που θα έχει η κύρια φόρμα. Πώς μπορώ να κάνω κάτι τέτοιο. Σκέφτηκα μήπως δημιουργήσω εκ των προτέρων ένα tabcontrol με τα tabpages που θέλω να έχει και αντίστοιχα να ανοίγει αυτό που θέλει ο χρήστης να δεί και αν το ξαναποατήσει και υπάρχει να το φέρνει μπροστά.
  •  06-01-2010, 12:52 56239 σε απάντηση της 56238

    Απ: Ερώτηση για Tab Control

    Αυτό που περιγράφεις ΕΙΝΑΙ το tabcontrol και τα tabpages. Έτσι ακριβώς δουλεύουν. Οπότε τί ακριβώς ρωτάς? Δοκίμασες να βάλεις ένα tabcontrol σε μία φόρμα και να δεις πως δουλεύει?
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  06-01-2010, 12:58 56240 σε απάντηση της 56239

    Απ: Ερώτηση για Tab Control

    Θέλω να οργανώσω την εφαρμογή που έχω στο μυαλό μου να είναι μια κεντρική φόρμα και αντί να ανοίγουν συνλεχεια φόρμες ρωτάω μήπως αντί για φόρμες το οργανωσω έτσι ώστε κάθε φόρμα να αντιστοιχή σε μία tabpage ενός tabcontrol στην κεντρική φόρμα. Είναι αυτό εφικτό και αν νάι απο επίδοση και διαδραστικότητα με τον χρήστη είναι βολικό; Απλώς το έχω δεί σε πολλές εφαρμογές και είναι αρκετά καλό και ρωτάω αν κάποιος έχει δημιουργήσει κάτι παρόμοιο ή έχει βρέι κάτι έτοιμο.
    Ευχαριστώ και πάλι.
  •  06-01-2010, 13:29 56241 σε απάντηση της 56240

    Απ: Ερώτηση για Tab Control

    Κοίτα, αν επαναλαμβάνεις την ίδια ερώτηση η οποία δεν βγάζει νόημα δεν πρόκειται να πάρεις κάποια απάντηση. Αυτό που ζητάς το κάνει ήδη το tabcontrol. Αν θες κάθε σελίδα να εμφανίζεται μετά από επιλογή ενός Menu item δοκίμασε τον κώδικα που σου έδωσα. Αν θες κάτι άλλο, γράψτο. Μέχρι τότε όμως βάλε το tabcontrol σε μία φόρμα, ρίξε μερικά control σε κάθε σελίδα, βάλε και τον κώδικα που σου έδωσα στα menu items και δες αν αυτό είναι αυτό που ζητάς.

    ?? Μήπως αυτό που ρωτάς είναι πως να εμφανίσεις φόρμες ως tab pages? Αυτό δεν γίνεται αλλά μπορείς να φτιάξεις user controls τα οποία θα εμφανίζεις μέσα στα tab pages.

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  06-01-2010, 13:45 56242 σε απάντηση της 56241

    Απ: Ερώτηση για Tab Control

    Μήπως όταν λες "εμφανίζεται" εννοείς "δημιουργείται" ? Ρωτάς δηλαδή πως μπορείς να προσθέσεις δυναμικά tab pages στο Tab Control? Αυτό γίνεται με τη μέθοδο Add του TabControl.TabPages. Σε κάθε καινούριο tabpage που δημιουργείς μπορείς να προσθέσεις το UserControl με τα controls που θέλεις να δείξεις μέσω του Controls property του TabPage
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  06-01-2010, 15:27 56248 σε απάντηση της 56240

    Απ: Ερώτηση για Tab Control

    DaltonGR:
    Θέλω να οργανώσω την εφαρμογή που έχω στο μυαλό μου να είναι μια κεντρική φόρμα και αντί να ανοίγουν συνλεχεια φόρμες ρωτάω μήπως αντί για φόρμες το οργανωσω έτσι ώστε κάθε φόρμα να αντιστοιχή σε μία tabpage ενός tabcontrol στην κεντρική φόρμα. Είναι αυτό εφικτό και αν νάι απο επίδοση και διαδραστικότητα με τον χρήστη είναι βολικό; Απλώς το έχω δεί σε πολλές εφαρμογές και είναι αρκετά καλό και ρωτάω αν κάποιος έχει δημιουργήσει κάτι παρόμοιο ή έχει βρέι κάτι έτοιμο.
    Ευχαριστώ και πάλι.

    Κάνοντας κι εγώ τον μάντη, μήπως θέλεις να φτιάξεις μία MDI εφαρμογή που το κάθε document ν' ανοίγει σε ξεχωριστό TAB; Αυτός είναι ο τρόπος που υλοποιούνται οι MDI εφαρμογές σε WPF. Το αν είναι λειτουργικό ή όχι το γνωρίζεις από πρώτο χέρι. Χρησιμοποιείς Visual Studio, έτσι δεν είναι; Πάντως, αν αναφέρεσαι σε WPF, μπορείς να δοκιμάσεις και την WPF Multiple Document Interface Library. Μόλις τώρα την ανακάλυψα.


    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
  •  06-01-2010, 15:40 56249 σε απάντηση της 56248

    Απ: Ερώτηση για Tab Control

    Υπάρχει και μία λύση την οποία δεν έχω υλοποιήση προσωπικά, αλλά όπως σκέφτεσαι το κάθε "TabPage"
    αντί για να σηκώνεις φόρμες για κάθε επιλογή, φτιάξε Custom Controls που θα εμφανίζεις μέσα σε κάποιο Panel,
    όπως επίσης και θα κάνεις Dispose.

    Έτσι θα έχεις και τον έλεγχο της μνήμης, όσον αφορά τα αντικείμενα που θα έχεις φορτωμένα.



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