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

 

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

Χρηση του Combobox.Items Property σε custom control (design-time, .NET 1.1)

Îåêßíçóå áðü ôï ìÝëïò cap. Τελευταία δημοσίευση από το μέλος cap στις 05-01-2006, 16:33. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  04-01-2006, 18:13 8385

    Χρηση του Combobox.Items Property σε custom control (design-time, .NET 1.1)

    Το θέμα έχει ως εξής:

    Εχω ένα custom control το οποίο μεταξύ άλλων περιέχει και ένα ComboBox control.

    Θέλω να εκθέσω το Items property (Combobox.ObjectCollection) ως property του δικού μου control, σε design-time. Δοκιμάζοντας την πιό απλή λύση που σκέφτηκα:



    Public ReadOnly Property Items() As ComboBox.ObjectCollection
            Get
                Return (Me.ctlCombo.Items)
            End Get
            'End Set
    End Property

    ..παίρνω στον designer τον object collection editor αλλά δεν μπορώ να εισάγω καινούριες τιμές.

    Υποψιάζομαι οτι χρειάζεται κάτι ΠΟΛΥ παραπάνω από αυτό, απλά δεν μπόρεσα να βρω κάπου σχετικές πληροφορίες. Εχει κανείς κάποια γνώση επ'αυτού; Αν είναι κάτι με μεγάλο συντελεστή πολυπλοκότητα θα επιλέξω άλλο τρόπο για να κάνω αυτό που θέλω, οπότε και αυτή η πληροφορία είναι πολύτιμη.

     

     


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  04-01-2006, 19:37 8386 σε απάντηση της 8385

    Απ: Χρηση του Combobox.Items Property σε custom control (design-time, .NET 1.1)

    Μήπως παίζει ρόλο και ότι έχεις ορίσει το property σαν ReadOnly?

    Πέρα από αυτό, μπορείς να ορίσεις ότι το Property θα τροποποιείται μέσω της κλάσης CollectionEditor και των παιδιών της.  

    Κοίτα την κλάση System.ComponentModel.Design.CollectionEditor.

    <EditorAttribute(GetType(System.ComponentModel.Design.CollectionEditor), GetType(System.Drawing.Design.UITypeEditor))>  _
    Public Property testCollection() As ICollection
       Get
          Return Icollection
       End Get
       Set
          Icollection = value
       End Set
    End Property
    Private Icollection As ICollection


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  04-01-2006, 19:46 8387 σε απάντηση της 8386

    Απ: Χρηση του Combobox.Items Property σε custom control (design-time, .NET 1.1)

    Ειναι readonly και στο αρχικό definition του ως property του Combobox. Ουτως η άλλως η εισαγωγή νεων στοιχείων γίνεται μέσω της μεθόδου Combobox.ObjectCollection.Add, οπότε δεν ξερω αν έχει νόημα το property να είναι read/write.

    Το property εμφανίζεται στον designer και εμφανίζει τον Collection Editor. Απλά όταν επιχειρώ να προσθέσω νέα τιμή, ο Collection Editor μου λέει οτι η τιμή είναι τυπου System.Object (σωστό το βλέπω, έτσι κι αλλιώς objects δέχεται το collection) αλλά δεν με αφήνει να την τροποποιήσω. Στoν Collection Editor ενός κανονικού Combobox (για το Items property), έχω τη δυνατότητα να γράψω string data εκεί, πράγμα που δεν γίνεται εδώ και δεν γνωρίζω το γιατί.

    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  04-01-2006, 20:11 8389 σε απάντηση της 8387

    Απ: Χρηση του Combobox.Items Property σε custom control (design-time, .NET 1.1)

    Λογικό, καθώς ο editor του combobox δεν είναι ο CollectionEditor, αλλά ένας άλλος που παίρνει τα strings και τα βάζει στο combobox. Το πρόβλημα θέλει Reflector !

    Αν φορτώσεις το System.Windows.Forms.dll και πας να δεις τoν κώδικα του Combobox.Items θα δεις ότι χρησιμοποιεί τον System.Windows.Forms.Design.ListControlStringCollectionEditor, ο οποίος δεν αναφέρεται στο documentation! Τα attributes του Items property είναι

    <Localizable(True), SRDescription("ComboBoxItemsDescr"), Editor("System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", GetType(UITypeEditor)), DesignerSerializationVisibility(DesignerSerializationVisibility.Content), SRCategory("CatData")>

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  05-01-2006, 16:33 8411 σε απάντηση της 8389

    Απ: Χρηση του Combobox.Items Property σε custom control (design-time, .NET 1.1)

    Παναγιώτη δούλεψε και μάλιστα πολύ καλά! Σε ευχαριστώ πολύ!
    Ειχα κάποια θεματάκια τα οποία οφείλονταν στο inheritance που έκανα και είχαν πολύ γέλιο (π.χ. του έβαζα τις τιμές unsorted, εκανα build και μου εμφανίζονταν στο design time ξανα sorted! - γιατί είχα το base control sorted by default :) ) αλλά κατά τα άλλα μια χαρά!

    Πολύτιμη βοήθεια για άλλη μια φορά!

    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

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