【发布时间】:2018-02-11 07:36:38
【问题描述】:
我有 3 个列表框,其中 1 个列出文件夹,1 个列出子文件夹,第三个列出当前子文件夹中的图片文件。 1 图片框加载第三个列表框的选定项目(图片)。 我有 2 个按钮来更改调用此函数的上一张图片或下一张图片(这会使图片列表循环以使其无休止):
Private Sub ShowNextImage()
If ListBox5.SelectedIndex = ListBox5.Items.Count - 1 Then
ListBox5.SelectedIndex = 0
Else
ListBox5.SelectedIndex += 1
End If
Me.PictureBox1.Image = Image.FromFile(lastfoldr & (ListBox5.SelectedItem))
End Sub
改变到右边的按钮是这样的:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ShowNextImage()
End Sub
然后我添加了更改图片框大小并在单击图片框时全屏显示的功能。
我还添加了picturebox_keydown 事件来检测键盘左键或右键的按键。
作为全屏最好的办法是直接从键盘更改照片并隐藏或发送按钮,为了使其工作,首先我尝试直接调用上一个/下一个图像功能,但它不起作用!:
Private Sub PictureBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles PictureBox1.KeyDown
ShowNextImage()
End If
问题出现在按左右键时:所选文件夹或子文件夹更改为下一个项目,第三个 ListBox 更新图像列表,一切都松了! 第二次尝试我使用:
Private Sub PictureBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles PictureBox1.KeyDown
If e.KeyCode = Keys.Right Then
ActiveControl = Nothing 'also I try this!
Button1.PerformClick() '< simulate the click of the button
End If
但也一样!当前选定的文件夹发生变化,列表变得松散。 在表单上物理单击按钮可以正确更改图像,而不是使用我无法使用的键来使其工作!我做错了什么?我错误地调用(模拟)按钮点击??
【问题讨论】:
标签: vb.net listbox focus keypress listboxitem