请教各位高手:我有个这样的程序:一个窗体上有两个列表框,一个checkbox(可能它应该叫复选框吧?),我想做的是自动在本机上进行驱动器间的文件的拷贝传送操作.我想让窗体上的复选框控件,在我先选中它后,然后,当我让两个列表框控件中出现"中华人民共和国"和"我爱音乐"的文字后,自动让复选框控件的单击事件过程中的文件拷贝命令(filecopy函数)进行文件的拷贝操作.但我自己写的程序老是不成功,老是要我点击它后才能执行文件的拷贝操作.我把程序加入到了窗体的form load事件中也不行.不知怎么回事?请高手指点.谢谢!我自己的程序体是:
If check1.Value = 1 Then
yh1.Caption = "开始执行"If Form1.list1.List(Form1.list1.ListCount - 1) = "中华人民共和国" And Form1.list2.List(Form1.list2.ListCount - 1) = "我爱音乐"
sfile = "d:\file.exe"
dfile = "e:\file.exe"
FileCopy sfile, dfile
Form1.label1.Caption = "拷贝成功"
endif
endif
我这个程序老是不成功,老是要我先点击复选控件后,才执行.请高手帮助.谢了!

解决方案 »

  1.   

    首先,Form1.list1.ListCount - 1 这个是获得当前LIST控件的最后末的数值。如果你肯定你的LIST控件肯定是最后一位出现"中华人民共和国"和"我爱音乐" 那么判断没问题。否则,你是想在LIST控件里点击,就应该使用Form1.list1.ListIndex参数才对。如果不是。当我没说。然后。你的程序应该是在Private Sub Check1_Click()过程里吧?这个应该是没问题的。但需要你点击Check1控件才能触发。你可以在你的(当我让两个列表框控件中出现"中华人民共和国"和"我爱音乐"的文字后) 这个出现的过程里,写上:
    check1.Value = 1
    call Check1_Click()就可以自动执行操作了
      

  2.   

    你点了复选框,才有check1.Value=1,这有什么奇怪的!