急急急!!!求高手指点!用vb.net做一个图片自动浏览器,实现点一次时暂停播放,点第二次时继续自动播放这样一个功能

NiuNa_iYou 2012-12-08 02:20:14
求高手指点!
我要用vb.net做一个图片自动浏览器,要实现,点一次该图片时,暂停播放,点第二次该图片时,继续自动播放,这样一个功能。
我已经实现了,点一次时暂停这个功能,但我不会,点第二次时继续这个功能啊。
求高手指点!!!拜托啦!急!
下面是我下的代码,请帮我补充一下,点第二次时继续播放,这个功能的代码啊!!

Public Class 图片自动浏览
Private Sub 图片自动浏览_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Hide()
PictureBox2.Hide()
PictureBox3.Hide()
PictureBox4.Hide()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
PictureBox1.Visible = True
Timer1.Start()
Button1.Hide()
End Sub

Public Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick, PictureBox4.Click, PictureBox3.Click, PictureBox2.Click

If PictureBox1.Visible = True And PictureBox2.Visible = False And PictureBox3.Visible = False And PictureBox4.Visible = False Then
PictureBox1.Visible = False
PictureBox2.Visible = True
PictureBox3.Visible = False
PictureBox4.Visible = False
ElseIf PictureBox1.Visible = False And PictureBox2.Visible = True And PictureBox3.Visible = False And PictureBox4.Visible = False Then
PictureBox1.Visible = False
PictureBox3.Visible = True
PictureBox4.Visible = False
PictureBox2.Visible = False
ElseIf PictureBox1.Visible = False And PictureBox2.Visible = False And PictureBox3.Visible = True And PictureBox4.Visible = False Then
PictureBox1.Visible = False
PictureBox3.Visible = False
PictureBox4.Visible = True
PictureBox2.Visible = False
ElseIf PictureBox1.Visible = False And PictureBox2.Visible = False And PictureBox3.Visible = False And PictureBox4.Visible = True Then

PictureBox1.Visible = True
PictureBox2.Visible = False
PictureBox3.Visible = False
PictureBox4.Visible = False
End If

End Sub


Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Click, PictureBox1.Click
Timer1.Enabled = False
PictureBox1.Show()
MsgBox("您想想继续浏览吗?", MsgBoxStyle.YesNo, "提醒你!")
If MsgBoxResult.No Then
PictureBox1.Show()
Else
Timer1.Enabled = True
If PictureBox1.Visible = True And PictureBox2.Visible = False And PictureBox3.Visible = False And PictureBox4.Visible = False Then
PictureBox1.Visible = False
PictureBox2.Visible = True
PictureBox3.Visible = False
PictureBox4.Visible = False
ElseIf PictureBox1.Visible = False And PictureBox2.Visible = True And PictureBox3.Visible = False And PictureBox4.Visible = False Then
PictureBox1.Visible = False
PictureBox3.Visible = True
PictureBox4.Visible = False
PictureBox2.Visible = False
ElseIf PictureBox1.Visible = False And PictureBox2.Visible = False And PictureBox3.Visible = True And PictureBox4.Visible = False Then
PictureBox1.Visible = False
PictureBox3.Visible = False
PictureBox4.Visible = True
PictureBox2.Visible = False
ElseIf
PictureBox1.Visible = False And PictureBox2.Visible = False And PictureBox3.Visible = False And PictureBox4.Visible = True Then
PictureBox1.Visible = True
PictureBox2.Visible = False
PictureBox3.Visible = False
PictureBox4.Visible = False
End If
End If
End Sub
End Class
...全文
229 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wugong 2012-12-09
  • 打赏
  • 举报
回复
一、在窗体上设置一个PictureBox,2个Button 一个用来控制“暂停和继续” 二、Imports System.Collections.ObjectModel 三、增加延时函数 Public Sub Delay(ByVal mSec As Long) On Error Resume Next Dim TStart As Long TStart = Now.Ticks / 10000 While (Now.Ticks / 10000 - TStart) < mSec Application.DoEvents() End While End Sub 四、增加一个全局暂停变量控制 :Dim pause As Boolean = False 五、在button1 click事件中 Dim files As ReadOnlyCollection(Of String) files = My.Computer.FileSystem.GetFiles("d:\", FileIO.SearchOption.SearchAllSubDirectories, "*.*") For i As Integer = 0 To files.Count - 1 Do While pause = True Delay(1000) Loop Try Me.PictureBox1.Image = System.Drawing.Image.FromFile(files(i)) Delay(1* 1000) '两幅图之间的显示间隔 Catch ex As Exception End Try Application.DoEvents() Next 六、暂停button Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click pause = Not pause If pause = False Then Me.Button2.Text = "暂停" Else Me.Button2.Text = "继续" End If End Sub
skigil 2012-12-09
  • 打赏
  • 举报
回复
Public Class Form2 Dim Images() As String Dim NowShowImage As Integer Dim boolPause As Boolean = False Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Images = IO.Directory.GetFiles("C:\Users\Administrator\Desktop\20121207\sgyy\structure", "*.png") NowShowImage = 0 Timer1.Start() End Sub Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick PictureBox1.Image = Image.FromFile(Images(NowShowImage)) If NowShowImage = Images.Length - 1 Then NowShowImage = 0 Else NowShowImage += 1 End If End Sub Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.Click boolPause = Not boolPause If boolPause Then Timer1.Stop() Else Timer1.Start() End If End Sub End Class
lvlvlvlylyly 2012-12-08
  • 打赏
  • 举报
回复
呵呵,sp1234说话好难听,不过他没恶意,别介意啊。 是应该用一个pic的,用循环来控制。 点一下,循环中断,再点一下,循环继续。
rrr66258698 2012-12-08
  • 打赏
  • 举报
回复
把咋黑哎呀呀
  • 打赏
  • 举报
回复
你虽然“实现了”,但是设计上太次了,必须推倒了重新设计。 循环切换图片,应该仅使用一个pixturebox。 重新设计再说吧。
wenh7788 2012-12-08
  • 打赏
  • 举报
回复
图片是否可以用播放器来播放呢?或是类似ppt一样的东西?

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧