我想要ListBox一整套物品.虽然,每个项目应该有不同的值.因此,当用户选择项目并按下按钮时,将调用一个方法,该方法将使用选择项目具有的值.
我不想向用户透露项目值.
编辑:这不适用于ASP.NET,它适用于Windows窗体应用程序.我只是认为HTML示例很容易阅读.
我从HTML获得灵感:
<form>
<input type="radio" name="sex" value="Value1" /> Male
<br />
<input type="radio" name="sex" value="Value2" /> Female
</form>
Run Code Online (Sandbox Code Playgroud)
这也允许我使用与用户看到的值不同的值.
Fre*_*örk 35
您可以使用ListBox的DisplayMember选择显示的内容.
List<SomeData> data = new List<SomeData>();
data.Add(new SomeData() { Value = 1, Text= "Some Text"});
data.Add(new SomeData() { Value = 2, Text = "Some Other Text"});
listBox1.DisplayMember = "Text";
listBox1.DataSource = data;
Run Code Online (Sandbox Code Playgroud)
当用户选择一个项目时,您可以从所选对象中读取值(或任何其他属性):
int value = (listBox1.SelectedItem as SomeData).Value;
Run Code Online (Sandbox Code Playgroud)
更新:请注意,DisplayMember仅适用于属性,而不适用于字段,因此您需要稍微更改一下类:
public class SomeData
{
public string Value { get; set; };
public string Text { get; set; };
}
Run Code Online (Sandbox Code Playgroud)