我该如何给用户一个选择并从那个选择中获取向导
本文关键字:选择 向导 获取 一个 给用户 | 更新日期: 2023-09-27 18:17:15
我必须为用户提供从项目列表中进行选择的选项,然后,根据他们选择的单个项目,我需要从该项目中获取向导。这将从Sql表的Linq查询中填充。
我是这样开始的:
private void PopulateGatewayList()
{
var gateways = from gw in _entities.Gateways
where gw.IsActive
select gw;
foreach (var gateway in gateways)
{
checkedListBox_Gateways.Items.Add(gateway.Name);
}
}
但是一旦他们检查了什么,我没有办法抓住向导。
给用户名字但给我返回向导的好方法是什么?
** ANSWER **
在Michael Yoon的帮助下,我做了以下工作:
private void PopulateGatewayList()
{
var gateways = from gw in _entities.Gateways
where gw.IsActive
select gw;
foreach (var gateway in gateways)
{
checkedListBox_Gateways.Items.Add(new ListItem(gateway.Name, gateway.GatewayId.ToString()));
//checkedListBox_Gateways.Items.Add(gateway.Name);
}
}
private void checkedListBox_Gateways_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (Object selecteditem in checkedListBox_Gateways.SelectedItems)
{
var strItem = selecteditem as ListItem;
Console.WriteLine("Selected: " + strItem.Value);
}
}
您需要向集合中添加一个包含id和字符串的对象。您可以使用KeyValuePair或自己创建。我将在我的示例中使用keyvaluepair。
checkedListBox_Gateways.DisplayMember = "Key";
checkedListBox_Gateways.ValueMember = "Value";
checkedListBox_Gateways.Items.Add(new KeyValuePair<string, string>(gateway.Name, gateway.Id.ToString()));
然后您可以枚举SelectedItems集合,将每个集合强制转换回keyvaluepair并从中获取值。