Laden...

[gelöst] Eigenes Combobox Item erstellen

Erstellt von schillerdeluxe vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.218 Views
S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren
[gelöst] Eigenes Combobox Item erstellen

Hallo, ich habe ein kleines Problem, und hoffe, dass mir jemand dabei helfen kann:

Ich möchte in meiner Combobox eigene Items hinzufügen, welche zum Beispiel Properties haben, wie zum Bsp eine Enumeration etc...

Ich hab jetzt zwar schon eine eigene Klasse erstellt, aber wie füge ich diese dann anschließend in die Combobox hinzu?



public class ExtendedComboBoxItem 
    {
        /// <summary>
        /// Ruft den Wert des Textes des Items ab, oder legt diesen fest
        /// </summary>
        public string Text
        { get; set; }

        /// <summary>
        /// Ruft die Enumeration der Authentifizierungsart ab, oder legt die fest
        /// </summary>
        public SetupDatabase.CommonLogic.DBAdminUser.AuthentificationTypes AuthentificationType
        { set; get; }

        
    }


Kann mir dabei vlt jemand helfen?

danke shcon im vorhinein,

mfg

Gelöschter Account
vor 15 Jahren

hinzufügen mit Items.Add(...) und dann mit DisplayMember definieren, welche property angezeigt werden soll.

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo schillerdeluxe,

einfach mit ComboBox.Items.Add

Alternative zu DisplayMember: Die Klasse, der Objekte, die du hinzufügst, muss ToString so überschreiben, dass der anzuzeigende Text zurückgegeben wird.

herbivore

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren

Ja, das wollte ich ja anfangs auch machen, weil ich hab ja vorher wohl im forum nach vorschlägen gesucht, es gibt da nur ein problem:


ExtendedComboBoxItem cmbWindowsItem = new ExtendedComboBoxItem();
            ExtendedComboBoxItem cmbSQLItem = new ExtendedComboBoxItem();

            cmbWindowsItem.Text = "Windows-Authentifizierung";
            cmbWindowsItem.AuthentificationType = DBAdminUser.AuthentificationTypes.Windows;

            cmbSQLItem.Text = "SQL Server Authentifizierung";
            cmbSQLItem.AuthentificationType = DBAdminUser.AuthentificationTypes.SQLServer;

            this.cmbAuthentification.Items.Add(cmbWindowsItem);
            this.cmbAuthentification.Items.Add(cmbSQLItem);

Und zwar, ich habe hier 2 objekte vom typ ExtendedComboBoxItem und jetzt weiß ich nicht, wie ich das mit dem DisplayMember machen muss

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo schillerdeluxe,

du musst DisplayMember auf den Namen der anzuzeigenden Eigenschaft der Item-Klasse setzen. Bitte nicht nur ins Forum, sondern auch in die :rtfm: Doku gucken.

herbivore

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren

OK,

Also in meinem Fall ist der NAME der PROPERTY = Text

daher:


this.cmbAuthentification.DisplayMember = "Text";
this.cmbAuthentification.ValueMember = "AuthentificationType";