在一个文件夹中读出所有文件(只有图片),将文件名显示在一个ListBox中(已做完,全靠兄弟们帮助,上一帖)
现在想做,用鼠标单击ListBox中一个文件名,将相应的图片显示在一个picture控件中,代码怎么写:
   pic1.picture=????????
俺实在是没办法了,和老板说偶不会这个,换别人吧,没结果。只有靠兄弟们了,谢谢!!!

解决方案 »

  1.   

    pic1.picture=loadpicture(ListBox.text)
      

  2.   


    Private Sub Form_Load()
    Dim fs
    Set fs = CreateObject("scripting.filesystemobject")
    Dim f, f1
    Set f = fs.getfolder("c:\bmp")
    For Each f1 In f.Files
    List1.AddItem f1.Path
    Next
    End SubPrivate Sub List1_Click()
    Picture1.Picture = LoadPicture(List1.Text)
    End Sub
      

  3.   

    當然,你首先得保證List1指定的文件確實存在,而且要加上擴展名.
      

  4.   

    picture1.picture=loadpicture(list1.lists(list1.listindex))
      

  5.   

    pic1.picture=LoadPicture(List1.list(List1.listindex))
    我这个才对
      

  6.   

    list中是文件的完整路径
    Picture1.Picture = LoadPicture(List1.Text)
    没有问题
      

  7.   

    pic1.picture=LoadPicture(List1.list(List1.listindex))
    也没有问题楼主试试就知道了
      

  8.   

    list中是文件的完整路径
    Picture1.Picture = LoadPicture(List1.Text)
    没有问题
    --------------------------------------------------------------
    可是我用的是LISTBOX,而且里边不是完整路径,只有文件名,怎么办,怎么把路径加进去?
      

  9.   

    Set Picture1.Picture = LoadPicture(路径变量 & List1.Text)字符串运算而已
    只要将文件名计算正确就行
      

  10.   

    LIST中有多个文件名,LIST1.TEXT默认就是当前被选定的么?
      

  11.   

    你的只需要显示本目录下的文件的话,把listbox换filelistbox就行了,不需要自己添加。
    选定file1.pattern="*.bmp"就只会显示这种后缀的文件。
    然后在file1的click事件里面写上
    Picture1.Picture = LoadPicture(file1.filename)
      

  12.   

    相对路径如果在当前工程目录下可以这样
    Picture1.Picture = LoadPicture(app.path & "\" & List1.Text)
      

  13.   

    //LIST中有多个文件名,LIST1.TEXT默认就是当前被选定的么?肯定波。
    list1.text是被选定的名字.
    list1.listindex是被选定的名字的序号。
    list1.list(list1.listindex)就是被选定的序号对应的名字。=list1.text
      

  14.   

    相对路径如果在当前工程目录下可以这样
    Picture1.Picture = LoadPicture(app.path & "\" & List1.Text & ".bmp")
      

  15.   

    考虑到你程序的路径与图片的路径不一致
    所以
    Option Explicit
    Dim spath As StringPrivate Sub Form_Load()
    Dim fs
    Set fs = CreateObject("scripting.filesystemobject")
    Dim f, f1Set f = fs.getfolder("c:\bmp")
    For Each f1 In f.Files
    List1.AddItem f1.Name
    spath = f1.Path
    Next
    Dim i As Integer
    i = InStrRev(spath, "\")
    spath = Left(spath, i - 1)
    End SubPrivate Sub List1_Click()
    Picture1.Picture = LoadPicture(spath & "\" & List1.Text)
    End Sub
      

  16.   

    老大们,我的ListBox中没有TEXT啊,我用的是ListBox,怎么办?
      

  17.   

    而且只有ListIndex和 ListCount也没有 List
      

  18.   


    我上面的代码不要改变,form中添加一个listbox控件,不要更改属性,还有picturebox控件仔细看,哎
      

  19.   

    老大,你这条语句里Picture1.Picture = LoadPicture(spath & "\" & List1.Text)的   List1.Text   ListBox里没有.Text这个属性,我怎么取得?
      

  20.   

    On Error Resume Next
    Dim MyName
       MyName = Dir(App.Path & "\PIC\*.jpg")
    Do While MyName <> ""   ' 开始循环。
       
       List1.AddItem App.Path & "\PIC\" & MyName
       MyName = Dir '(App.Path & "\PIC\*.jpg")
    Loop
    Dim MyValue
    If List1.ListCount > 0 Then
    Randomize
        MyValue = Int((List1.ListCount * Rnd) + 1)
        Me.Picture = LoadPicture(List1.List(MyValue - 1))
    End If
      

  21.   

    你用的是ListBox还是ListView??
      

  22.   

    我说过了,我根本不会VB,没办法啊,我已经和老板说了 ,下次再让我做VB,我就走人!谢谢诸位了