因为数据少,不想用数据库,请问能不用用combo1存储一段数据,能添加和删除,程序重启后仍然存在。比如combo1原来内容是空,添加了“1”,“2”,“3”之后,重启程序后仍然有“1”“2”“3”,删除点“1“后就剩下”2“”3“,不想要数据库操作,并且点”1“后按一个按钮可以进行1操作,请问怎么做,添加删除这些按钮尽量少如果能做到只有一个combo1加一个按钮最好,谢谢!

解决方案 »

  1.   

    一定要有存储的,不用数据库,可以用文件。用combo1存储一段数据 是不可能的,其实你在控件设计时加的数据,也是vb文件替你保存
      

  2.   

    Private Sub Form_Load()
    Dim tmp As String    If Dir(App.Path & "\myOptions.txt") > "" Then
            Open App.Path & "\myOptions.txt" For Input As #1
            Do Until EOF(1)
                Line Input #1, tmp
                Combo1.AddItem tmp
            Loop
            Close #1
        End If
    End SubPrivate Sub Form_Unload()
    Dim i As Integer    Open App.Path & "\myOptions.txt" For Output As #1
        For i = 0 To Combo1.ListCount - 1
            Print #1, Combo1.List(i)
        Next i
        Close #1End Sub
      

  3.   

    按钮都可以不要Private Sub combo1_Click()
        select case
            case "1"
                call sub1
            case "2"
                call sub1
            case "3"
                call sub1
        end select 
     
    end sub
      

  4.   

    按钮都可以不要 Private Sub combo1_Click() 
        select case 
            case "1" 
                call sub1 
            case "2" 
                call sub2 
            case "3" 
                call sub3 
        end select end sub
      

  5.   

    combo中的列表项存储到一个文本文件中。关闭程序时更新该文件,启动程序时从该文件中读入。如:
    sub saveCombo(FileName As String)'程序关闭时更新文本文件
    Dim i as long
    Open FileName For OutPut As 1
    For i=0 to Combo1.ListCount-1
        Write #1,Combo1.List(i)
    Next   
    Close #1 
    end subSub Read(FileName As String)'程序启动时读入数据
    Dim tps As String
    Open FileName For Input As 1
    Combo1.Clear
    While Not EOF(1)
        Input #1,tps
        Combo1.AddItem tps
    Wend
    Close #1
    End Sub
      

  6.   

    Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim n As Long
        n = Combo1.ListIndex
        If KeyCode = vbKeyReturn Then
            Combo1.AddItem Combo1.Text
        ElseIf KeyCode = vbKeyDelete Then
            If n > -1 Then Combo1.RemoveItem n
        End If
    End Sub