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
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
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
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
OK,
Also in meinem Fall ist der NAME der PROPERTY = Text
daher:
this.cmbAuthentification.DisplayMember = "Text";
this.cmbAuthentification.ValueMember = "AuthentificationType";