【问题标题】:Save Separate Settings for Copies of the same Form为同一表格的副本保存单独的设置
【发布时间】:2021-06-28 06:36:15
【问题描述】:

我有一个表单,当我右键单击它时,你可以选择属性,这会打开一个与之前的表单直接交互的设置表单,即它可以更改原始表单的颜色、大小等属性。我想要运行原始表单的多个副本。

就目前而言,所有新表单的设置均来自同一个 My.settings。

1st 如何分别保存原始表单的每个副本中的所有设置? 现在我正在使用 Form1.show(),并将 newform 调暗为 form1 = new form1。

第二,如何确保设置表单仅与它们各自的原始表单交互? 目前,所有新设置的表单都只与相同的原始表单交互。

我保存了一大堆数据类型,大约10个设置,其中2个是Specialized.string来保存矩阵

【问题讨论】:

    标签: vb.net forms winforms


    【解决方案1】:

    首先,我建议不要在这种情况下使用 My.Settings,因为它仅用于存储 全局 设置。 您需要将设置为每个实例单独存储在 Form1 类中,然后可以将这些设置保存到文件或注册表中。

    关于你的第二个问题,在设置表单类中,给Form.Show方法添加一个参数,用于将主表单对象的实例传递给设置表单。 这会将新打开的设置表单绑定到特定的主表单。这可能如下所示:

    Class SettingsForm
        Shadows Sub Show(parentForm As Form1)
            'The parentForm paramter will be the Form1 instance which will be controlled by this settings window
        End Sub
    End Class
    

    然后您只需调用 SettingsForm.Show 方法并将您要控制的 Form1 对象的实例传递给该方法。

    【讨论】:

    • 传递表单效果很好。我正在处理设置。我应该比我想象的早几天完成这个项目,因为每个表格都已正确附加
    猜你喜欢
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    相关资源
    最近更新 更多