很抱歉,如果不清楚的话。现在我的代码有这个:
IPAddress address = IPAddress.Parse(Properties.Settings.Default.NA);
我想要做的是用列表框中的选定项目替换最后的NA。我可以通过
来访问它listBox1.SelectedItem.ToString();
listBox1将包含NA,EU,LAN等项目,我想要它,以便我可以做这样的事情
IPAddress address = IPAddress.Parse(Properties.Settings.Default.listBox1.SelectedItem.ToString());
但我不确定它是否有用。有人可以建议我解决这个问题吗?
谢谢!
答案 0 :(得分:1)
IPAddress address = IPAddress.Parse(Settings.Default.Properties[listBox1.SelectedItem.ToString()].DefaultValue);
答案 1 :(得分:0)
最简单的方法是使用枚举作为列表框的数据源:
listBox1.DataSource = Enum.GetValues(typeof(EnumType));
然后所选项目实际上是枚举值:
EnumType item = (EnumType)listBox1.SelectedItem;
确保使用枚举的任何类型替换EnumType。
答案 2 :(得分:0)
根据您的评论,我相信您的ListBox中有string
值,该值会映射到Properties
。在属性中,存在包含IPAddress
的实际字符串。
由于您可以访问:Properties.Settings.Default.NA
,因此您也可以根据索引访问属性,这将是字符串键的名称。所以使用:
IPAddress address = IPAddress.Parse(
Properties.Settings.Default[listBox1.SelectedItem.ToString()].ToString());
您可以添加一些检查,以确定实际是否具有该属性。像:
string listBoxItem = listBox1.SelectedItem.ToString();
var valueFromProperty = Properties.Settings.Default[listBoxItem];
if (valueFromProperty != null)
{
IPAddress address = IPAddress.Parse(valueFromProperty.ToString());
}