我在winforms app中创建了这样的设置:link
你可以看到我有定时器间隔值。目标是里面的计时器在这里:
{
// Inside timer tick handler
....
finally
{
timer1.Stop();
int tinterval = Properties.Settings.Default.TimerInterval;
HelperMethods.AppendToLogFile(tinterval.ToString(), LogType.Information);
timer1.Interval = tinterval;
timer1.Start();
}
}
我想在运行时更改计时器的间隔值。
但是当我启动应用程序时,即使我更改了app.config文件中的间隔(从Windows资源管理器打开),仍然在上面的计时器中读取旧值。我做错了什么?
编辑:实际上,如果我关闭我的应用程序并再次启动它(即重新启动我的应用程序),这甚至都不起作用。它仍然从app.config
读取旧值(不是我在应用程序关闭后和应用程序打开之前输入的值)。我错了什么?
PS。罪魁祸首可能在这里,请see - 它总是读取旧值1500,而不是2000.你可以看到VS如何说(在我关闭并重新打开项目之后)设置文件仍然具有旧值,是什么在这里?
答案 0 :(得分:1)
假设您已应用默认设置,Settings
的配置文件可能会保存在用户目录中,而不是应用程序目录中。因此,您正在编辑错误的文件。这是因为在Visual Studio的设置编辑器中Scope
值设置为User
。
尝试在AppData
中找到您应用的配置(通常是Local\YourCorporation\Application_version
或类似的内容)。
答案 1 :(得分:0)
部分答案在这里 Changes in App.config do not reflect after restarting the application
但是在运行时看到配置文件的变化,我现阶段没有解决和忽略。