用app.config文件使Windows Form应用程序可配置[英] Make Windows Form Application Configurable with app.config file

问题描述

我创建了一个从数据库接收值的字典

我想让我的应用程序可配置,只有特定值必须显示在组合框中.我想在我的 app.config 文件中进行更改.

我写了以下内容:在我的组合框中显示来自数据库的值的字典.

//在类中创建字典,在组合框中显示属性

  public Dictionary<string, int> SelectdicProperty()
  {
Dictionary<string, int> dicProperty = new Dictionary<string, int>();

      {
      SqlDatabase sqldb = new SqlDatabase(ConnectionString);
IDataReader reader = sqldb.ExecuteReader("PSELPropertyCmb", new object[] { });

          while (reader.Read())
          {
dicProperty.Add(reader["Description"].ToString(), Convert.ToInt32(reader["PropertyID"].ToString()));
          }
      }
      return dicProperty;
  }


//从数据库中绑定数据的方法
public void SelPropertList()
           Dictionary<string, int> objdic = new Dictionary<string, int>();
           objdic = clsInadmin.SelectdicProperty();

           cmbProperty.DisplayMember = "Key";
           cmbProperty.ValueMember = "Value";
           cmbProperty.DataSource = new BindingSource(objdic, null);
           objdic = null;
       }



private void cmbProperty_SelectedIndexChanged(object sender, EventArgs e)
       {
           int iValue = Convert.ToInt32 (cmbProperty.SelectedValue.ToString());
           IDataReader dr = clsInadmin.FilterProperty(iValue.ToString());
           DataTable dt = new DataTable();
           dt.Load(dr);
           dtgIngenico.DataSource = dt;
       }


这是app.config文件的一部分

xml版本="1.0"?><配置><configSections><section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"/></configSections><dataConfiguration defaultDatabase="连接字符串"/><connectionStrings><添加 名称="工具" connectionString="数据源=TSGDevs01;初始目录=Ing;用户 ID= 用户;密码 =" ;连接 超时=120" providerName="System.Data.SqlClient"/></connectionStrings><appSettings><添加 key="单位" ="Blackrock"/>---我添加了这一行以在组合框中仅显示 blackrock 属性,但它不工作</appSettings><启动><supportedRuntime 版本="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>



当我运行我的应用程序时,我只希望 Blackrock 显示在字典的组合框中.我的问题是,所有其他值都显示在组合框中.

我必须添加或更改什么,在哪里?

推荐答案

而不是绑定数据库中的所有值.您为什么不在 appconfig 中指定您想要的内容并从那时起填充它.然后,您可以在组合框中显示您想要的内容.查看下面的链接如何做到这一点.
http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings.aspx[^]

本文地址:https://www.itbaoku.cn/post/1394925.html