2010-12-20 3 views

Antwort

1

Set DataTextField und DataValueField

ListBox a = new ListBox(); 
a.DataTextField = "username"; 
a.DataValueField = "userid"; 

Hinzufügen .Add Methode Sie verwenden können:

a.Items.Add(new ListItem() { Value = User.ID, Text = User.Name }); 
8

Sie die Display Eigenschaft Ihrer List-Box verwenden können.

Es gibt auch eine äquivalente Eigenschaft, um den tatsächlichen Wert zu definieren, den Sie zum Abrufen der Benutzer-ID verwenden könnten. Zum Beispiel, wenn Sie Ihre Liste wie folgt definieren:

listbox.DisplayMember = "username"; 
listbox.ValueMember = "userid"; 
var item1 = new MyType { username = "user1", userid = "id1" }; // Create an item for the list 

listbox.Items.Add(item1); // Add the item 
listbox.SelectedIndex = 0; // Selects the first item 

Dann können Sie die Objekte in der Liste 3 verschiedene Möglichkeiten (Punkt, Wert oder Text) wie folgt verweisen:

MyObject newItem = (MyObject) listbox.SelectedItem; // Gets the selected MyType 
// OR 
string username = listbox.Text; // Gets the selected user name using the DisplayMember property of the listbox 
// OR 
string userid = listbox.SelectedValue; // Gets the selected user's userid using the ValueMember property of the listbox 

Sie können auch stellen Sie den ausgewählten Eintrag die gleichen 3 verschiedene Möglichkeiten:

listbox.SelectedItem = item1; 
// OR 
listbox.Text = item1.username; 
// OR 
listbox.SelectedValue = item1.userid; 
27

Sie die die UserName Eigenschaft DisplayMember und ValueMember Eigenschaften verwenden können, um anzuzeigen

class YourItem 
{ 
    public string UserName { get; set; } 
    public string UserId { get; set; } 
} 

yourListBox.DisplayMember = "UserName"; 
yourListBox.ValueMember = "UserId"; 

yourListBox.Items.Add(new YourItem { 
    UserName = "FooName", 
    UserId = "FooId" 
}); 
0

Sie können „ToString“ Methode überschreiben: Ihr Objekt und seine UserId Eigenschaft als Wert Listenelement verwenden.

class User 
{ 
    public string username { set; get; } 
    public string userid { set; get; } 

    public override string ToString() 
    { 
     return username; 
    } 
} 
Verwandte Themen