从XML读取字符串;无法设置NumericUpDown.Value

时间:2013-10-27 15:26:01

标签: c# xml

我将从我的xml文件中读取numericUpDown1.Value,但它不起作用。

我使用numericUpDown1.Value = reader.Value;这会产生错误

怎么了?

                XmlTextReader reader = new XmlTextReader("Config.xml");
                XmlNodeType type;

                while (reader.Read())
                {
                    type = reader.NodeType;

                    if (type == XmlNodeType.Element)
                    {
                        if (reader.Name == "WindowsHost")
                        {
                            reader.Read();
                            textBox1.Text = reader.Value;
                        }
                    }
                    if (type == XmlNodeType.Element)
                    {
                        if (reader.Name == "WindowsPort")
                        {
                            reader.Read();
                            numericUpDown1.Value = reader.Value; //Error
                        }
                    }
                }

                reader.Close();

1 个答案:

答案 0 :(得分:1)

reader.Valuestring,而不是intnumericUpDown1.Value的类型

您必须先转换string to a valid number,然后才能进行设置。

if (reader.Name == "WindowsPort")
{
    int i = -1;
    if (Int32.TryParse(reader.Value, out i))
    {
        numericUpDown1.Value = i;
    }
    else
    {
        //Unexpected Result; Value not a number
    }     
}