C# .Settings文件(.NET),正在使用子文件

C# .Settings文件(.NET),正在使用子文件,c#,C#,我正在尝试编写一个sub,它允许我传入两个值,一个是按钮的名称,另一个是包含在.Settings文件中的设置名称。我是一个网络迷,不知道该怎么做。任何人谢谢 private void setZoneValues(System.Windows.Forms.Button button, Settings1 setting) { if (button.BackColor == System.Drawing.Color.Lime) { b

我正在尝试编写一个sub,它允许我传入两个值,一个是按钮的名称,另一个是包含在.Settings文件中的设置名称。我是一个网络迷,不知道该怎么做。任何人谢谢

 private void setZoneValues(System.Windows.Forms.Button button, Settings1 setting)
    {
        if (button.BackColor == System.Drawing.Color.Lime)
        {
            button.BackColor = System.Drawing.Color.Tomato;
            Settings1.Default.<**setting**> = false;
        }

        else if (btnZone1.BackColor == System.Drawing.Color.Tomato)
        {
            btnZone1.BackColor = System.Drawing.Color.Lime;
            Settings1.Default.<**setting**>= true;
        }
    }

您只需将设置名称作为字符串传递,然后执行以下操作:

private void setZoneValues(System.Windows.Forms.Button button, string setting)  
{
    ...
    Settings1.Default[setting] = true; 
    ...
}
在designer中选择您的按钮。 在“属性”窗口中找到“应用程序设置”并将其展开 选择“属性绑定” 在列表中查找属性Backcolor,并使用名称(例如MyButtonColor)为其创建新设置 t在defatult应用程序设置中创建名为“MyButtonColor”的颜色属性,并将其绑定到按钮的BackColor属性

接下来是编码:

private void setZoneValues(Button button, string setting)  
{
    // change button color
    button.BackColor = (button.BackColor == Color.Lime) ? 
                        Color.Tomato : Color.Lime;
}
就这些。调用Settings.Default.Save时;当前按钮的背景色值将保存到设置文件中。再次启动应用程序时,设置文件中的值将分配给按钮的背景色

更新:当然,你可以手动添加设置,但是你需要手动加载和更新它们。例如,在Form_Load事件处理程序中:

button1.BackColor = Settings.Default.MyButtonColor;
在setZoneValues方法中更改颜色后:

Settings.Default.MyButtonColor = button.BackColor;

假设您在Settings.Settings中指定了一个名为Test的设置。您可以使用以下代码行访问该设置:

Properties.Settings.Default.Test

您的设置将像c中的属性一样工作。您将能够获取并设置它的值。

您是说您不知道如何创建设置,还是说您不知道如何引用它?或者完全其他的东西…谢谢RedFilter-完成了任务。不知道你会耍这样的把戏!毫无疑问,这将在未来派上用场