为什么这个C#加载表不起作用?

时间:2011-05-19 21:59:03

标签: c# winforms config

我正在尝试从表单加载时从配置文件中获取值,并将其放入文本框中。我正在使用Program.cs从配置文件中获取值。一切都看起来设置正确,但是当我运行表单时没有值。

public form()
{   
    InitializeComponent();

    string NewValue = Program.Value;
    Textbox.Text = NewValue;
}

的Program.cs:

public static string Value = "";         

switch (element.ChildNodes[i].Name)
{
    case "FileInfo":
    {
        for (int j = 0; j < childNodeList.Count; j++)
        {
            switch (childNodeList[j].Name)
            {
                case "Value":
                {
                    Program.Value = childNodeList[j].InnerText;
                    break;
                }
            }
        }

         .........

    }

     ---------

}  

配置:

<config>
  <FileInfo>
  <Value>1234</Value>
  </FileInfo>
</config>

2 个答案:

答案 0 :(得分:1)

我假设您至少使用.net 2.0

  • 将对System.Configuration的引用添加到项目中
  • 确保您的app.config正常显示:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <appSettings>
            <add key="myKey" value="myValue"/>
        </appSettings>
    </configuration>    
    
  • 更改代码以使用ConfigurationManager来检索值:

    using System.Configuration;
    using System.Windows.Forms;
    
    namespace SO6065319
    {
            public partial class Form1 : Form
            {
                    public Form1()
                    {
                            InitializeComponent();
                            textBox1.Text = ConfigurationManager.AppSettings["myKey"];
                    }
            }
    }
    

这里textBox1是表单上文本框的名称。 您现在可以在文本框中看到“myValue”。

答案 1 :(得分:0)