0

我在 Visual Basic 6.0 中制作(设计)了一个程序,它由大约 100 个复选框组成,该程序不需要任何代码,只是一个是/否复选框类型的程序,但我想保存复选框状态,这样如果检查盒子处于是状态,然后在重新启动程序后它的状态保持不变。我已阅读有关 My.Settings.Save 但我不知道如何使用它,我使用的是 Visual Basic 6.0。

4

1 回答 1

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"如果没有在注册表中设置任何值(尚未),则返回...

于 2019-12-16T07:56:06.957 回答