1

ユーザー定義の値を *.config ファイルに保存して読み取るようにしてください ファイルから読み取るためのコード

public int GetVolumeFromConfigFile()
    {
        return  Convert.ToInt32(ConfigurationManager.AppSettings["Volume"]);         
    }

完璧に動作します

これで既存のキーを更新してみてください

   public int SetVolumeFromConfigFile()
    {
       ConfigurationManager.AppSettings["Volume"] = "10";         
    }

エラーが発生しました - 読み取り専用のファイルです。次のように変更します。

Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);
        config.AppSettings.Settings.Add(label.Text.ToString(), box.Value.ToString());
        config.Save(ConfigurationSaveMode.Minimal);

エラーはありませんでしたが、ファイルは何も変更されていません。

私の *.config ファイルは次のとおりです。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
        <section name="PlayDemo.SettingsPlayIt" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </sectionGroup>
</configSections>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<userSettings>
    <PlayDemo.SettingsPlayIt>
        <setting name="Volume" serializeAs="String">

        </setting>
    </PlayDemo.SettingsPlayIt>
</userSettings>

どこが間違っているのか理解しようとする

4

1 に答える 1