VB做个图片的查看器 就是点图片能切换到下一张如此循环

到了最后张能返回第一张,在次循环,需求具体代码。对于“下一张”和“上一张”的两个按钮,要于图片一致变量均在改变,怎么做,我是个VB新手求帮助啊

'新建一个exe工程
'依次打开菜单:工程,部件;在控件列表中选中“Microsoft Common Dialog 6.0(SP6)”按确定退出
'窗体form1上画3个command按钮,1个FileListBox文件列表控件,1个PicrureBox图像框控件,1个CommonDialog文件浏览控件
'将以下代码复制到Form1的代码区

Private FileIdx As Long '文件索引号
Private APath As String '图片文件夹

Private Sub Form_Load() '初始化控件
Command1.Top = 0
Command2.Top = 0
Command3.Top = 0
Command1.Left = 0
Command2.Left = Command1.Width + Command1.Width / 8
Command3.Left = Command2.Left + Command2.Width + Command1.Width / 8
Command1.Caption = "打开"
Command2.Caption = "上一张"
Command3.Caption = "下一张"
Picture1.Left = 0
Picture1.Top = Command1.Height + Command1.Height / 4
Picture1.AutoRedraw = True
Picture1.AutoSize = True
File1.Pattern = "*.bmp;*.jpg" '文件类型
File1.Refresh
File1.Visible = False
End Sub

Private Sub Picture1_Resize() '根据图片尺寸改变窗体大小
Me.Width = Picture1.Width
Me.Height = Picture1.Height + Picture1.Top + Command1.Height + Command1.Height / 4
If Me.Width < Command3.Left + Command3.Width Then Me.Width = Command3.Left + Command3.Width

End Sub

Private Sub Command1_Click() '打开文件夹
Dim Tmp() As Byte, FirtFile As String
CommonDialog1.ShowOpen
APath = CommonDialog1.FileName
If APath = "" Then Exit Sub
Tmp = StrConv(APath, vbFromUnicode)
FirtFile = ""
Do While Tmp(UBound(Tmp)) <> Asc("\") '提取根目录
FirtFile = String(1, Tmp(UBound(Tmp))) & FirtFile
ReDim Preserve Tmp(UBound(Tmp) - 1)
Loop
APath = StrConv(Tmp, vbUnicode)
File1.Path = APath
File1.Refresh
If File1.ListCount = 0 Then Exit Sub
For FileIdx = 0 To File1.ListCount - 1 '打开选中的图片
If File1.List(FileIdx) = FirtFile Then
Picture1.Picture = LoadPicture(APath & File1.List(FileIdx))
Exit Sub
End If
Next
FileIdx = 0
Picture1.Picture = LoadPicture(APath & File1.List(0))
End Sub

Private Sub Command2_Click() '上一个
File1.Refresh '刷新文件
If File1.ListCount = 0 Then Exit Sub '如果文件夹内没有图片就退出过程
If FileIdx - 1 >= 0 Then
FileIdx = FileIdx - 1 '上一个就-1
Picture1.Picture = LoadPicture(APath & File1.List(FileIdx))
Else
FileIdx = File1.ListCount - 1 '上到0后就跳回最后一个
Picture1.Picture = LoadPicture(APath & File1.List(FileIdx))
End If
End Sub

Private Sub Command3_Click() '下一个
File1.Refresh
If File1.ListCount = 0 Then Exit Sub
If FileIdx + 1 < File1.ListCount Then
FileIdx = FileIdx + 1 '下一个就+1
Picture1.Picture = LoadPicture(APath & File1.List(FileIdx))
Else
FileIdx = 0 '下到最后一个后就跳回0
Picture1.Picture = LoadPicture(APath & File1.List(FileIdx))
End If
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-26
在此之前你应该有一个目标文件夹的路径(这个路经最好别是某个盘的根目录),假设这个路径在变量url中
在窗体上画一个File1,将visible设为false,将pattern设为*.jpg;*.bmp;*.ico(根据自己的需要添加关联上下一个文件的扩展名)
显示图片的控件叫Picture1
在点击上下一张按钮之前Picture1中应该已经有一幅图片,找到用于控制显示这张图片的代码,再最后加一句
File1.Path=url
“上一张”的代码:
File1.ListIndex=IIf(File1.ListIndex=0,File1.ListCount-1,File1.ListIndex-1)
Picture1.Picture=LoadPicture File1.Path & "\" & File1.FileName
“下一张”的代码:
将“上一张”的代码中所有出现“File1.ListCount-1”的地方换成“0”,出现“0”的地方换成“File1.ListCount-1”,出现“File1.ListIndex-1的地方换成“File1.ListIndex+1”即为“下一张”的代码。
第2个回答  2011-09-25
QQ873034970

VB做个图片的查看器 就是点图片能切换到下一张如此循环
File1.Refresh '刷新文件 If File1.ListCount = 0 Then Exit Sub '如果文件夹内没有图片就退出过程 If FileIdx - 1 >= 0 Then FileIdx = FileIdx - 1 '上一个就-1 Picture1.Picture = LoadPicture(APath & File1.List(FileIdx))Else FileIdx = File1.ListCount - 1 '上到0后就跳...

VB如何点下按钮换张图片
把五张图片的文件名设为连续的数字,比如 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg Private Sub Command1_Click()Static i As Integer Me.Picture = LoadPicture(App.Path & "\\" & i + 1 & ".jpg")i = (i + 1) Mod 5 End Sub

电脑壁纸怎么做如何给电脑设置壁纸
6、或者可以用壁纸做成幻灯片效果,每隔十分钟更换一个主题桌面背景,这样会很炫酷,选择更换的时间,图片选择“全部”,然后点击“保存”。电脑设置锁屏壁纸的具体操作步骤如下:;我们需要准备的材料有:电脑。;1、首先我们打开电脑,右击鼠标点击“个性化”按钮。;2、之后我们在该页面中点击打开“锁屏界面”按钮。;3、然后...

VB如何点下按钮换张图片
把五张图片的文件名设为连续的数字,比如 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg Private Sub Command1_Click()Static i As Integer Me.Picture = LoadPicture(App.Path & "\\" & i + 1 & ".jpg")i = (i + 1) Mod 5 End Sub

VB如何点下按钮换张图片
把五张图片的文件名设为连续的数字,比如 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg Private Sub Command1_Click()Static i As Integer Me.Picture = LoadPicture(App.Path & "\\" & i + 1 & ".jpg")i = (i + 1) Mod 5 End Sub

相似回答
大家正在搜