相关疑难解决方法(0)

如何使设计器生成的.Net应用程序设置可移植

我一直在寻找修改多普勒播客聚合器的来源,目标是能够直接从我的MP3播放器运行程序.

多普勒使用Visual Studio设计器生成的Settings类存储应用程序设置,该类默认将用户设置序列化到用户的主目录.我想改变它,以便所有设置都存储在与exe相同的目录中.

看来这可以通过创建继承SettingsProvider类的自定义提供程序类来实现.有没有人创建过这样的提供商并希望共享代码?

更新:通过使用此MSDN示例,即使用简单的继承,我能够使自定义设置提供程序几乎正常工作.我最初感到困惑,因为Windows Forms设计器停止工作,直到我在Codeproject上做了这个技巧:

internal sealed partial class Settings
{
    private MySettingsProvider settingsprovider = new MySettingsProvider();

    public Settings()
    {
        foreach (SettingsProperty property in this.Properties)
        {
            property.Provider = settingsprovider;
        }
    ...
Run Code Online (Sandbox Code Playgroud)

该程序仍然以窗口大小0; 0开始.

有任何见解的人吗?

  • 为什么需要在运行时协助提供程序 - 而不是使用MSDN建议的属性?
  • 为什么使用默认设置提供程序和自定义提供程序将默认设置传递给应用程序的方式有何变化?

.net c# settings portability

5
推荐指数
1
解决办法
9158
查看次数

C#动态获取类中的变量名称和值

我目前正在制作一个程序(C#.Net 4),它有多个选项,保存到文件中.

这些选项是代码中自己的变量,我想知道是否有办法在代码中动态获取这些选项的变量和值.

在我的例子中,我在"设置"类中有这些选项,我使用Settings.varSetting从我的主窗体类中访问它们.

我在代码中的多个位置获取并设置这些变量; 是否可以合并变量列表,以便我可以更轻松/一致地访问和设置它们(例如,创建一个"设置"表单,该表单可以提取可用选项及其值并动态绘制表单)?

以下是我在Settings类中的当前变量:

    public static Uri uriHomePage = new Uri("http://www.google.com");
    public static int intInitOpacity = 100;
    public static string strWindowTitle = "OpaciBrowser";
    public static bool boolSaveHistory = false;
    public static bool boolAutoRemoveTask = true; //Automatically remove window from task bar if under:
    public static int intRemoveTaskLevel = 50; //percent
    public static bool boolHideOnMinimized = true;
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助,

Karl Tatom(TheMusiKid)

c# variables settings class dynamic

3
推荐指数
1
解决办法
4803
查看次数

标签 统计

c# ×2

settings ×2

.net ×1

class ×1

dynamic ×1

portability ×1

variables ×1