有什么方法可以保存Visual Basic 6.0中制作的程序的复选框状态

时间:2019-12-16 07:50:32

标签: visual-studio vba6

我已经在Visual Basic 6.0中制作(设计)了一个程序,它包含大约100个复选框,该程序不需要任何代码,只是一个yes / no复选框类型的程序,但是我想保存复选框状态,因此如果复选框处于“是”状态,则在重新启动程序后,其状态将保持不变。 我已经读过 My.Settings.Save,但我不知道如何使用它,我正在使用Visual Basic 6.0。

1 个答案:

答案 0 :(得分:0)

在注册表中创建键,将每个复选框的值保存在其“更改事件”复选框中,并以“初始化事件代码”的形式加载它们的状态。

Option Explicit

Private Const MyApp As String = "My Own App" 'put here your application name
Private Const Sett As String = "Settings"

Private Sub CheckBox1_Change()
    Dim chkBoxStatus As String
    chkBoxStatus = "CheckBox1"
    If Me.CheckBox1.value = True Then
        SaveSetting MyApp, Sett, chkBoxStatus, CStr(True)
    Else
        SaveSetting MyApp, Sett, chkBoxStatus, CStr(False)
    End If
End Sub

对所有复选框执行相同的操作。 然后:

Private Sub UserForm_Initialize() 'I do not remember well if VB6 uses Form_Initialize... You must adapt it accordingly.
  Dim regValue As String
  regValue = GetSetting(MyApp, Sett, "CheckBox1", "No value")
  If regValue <> "No value" Then Me.CheckBox1.value = CBool(regValue)
    'do the same for all checkboxes in discussion
    '.
    '.
End Sub
如果尚未在注册表中设置任何值,则返回

"No value" ...