停止在 ListView 中右键单击选择项目

问题描述 投票:0回答:1

我是编码新手,所以请温柔对待我。我尝试过研究这个主题,但似乎找不到能让我走上正确道路的答案。

我有一个具有 ListView 的程序,在 ListView 中,每个项目都包含一个图像文件路径的标签。当我选择每个项目时,我会读取标签,然后使用图像路径显示图像。我遇到的问题是,当我右键单击某个项目时,它会选择该项目。我只想允许右键单击上下文菜单条选项,并让鼠标左键单击作为项目的选择器。

我已经尝试了很多东西,但我对如何实现它有点困惑?

vb.net winforms listview
1个回答
0
投票

这是针对桌面(winforms)的,还是针对基于网络的,比如webforms?

对于桌面,如果我放入列表框和图片框。

然后是下面的代码:

Private Sub ListBoxPicture_Load(sender As Object, e As EventArgs) Handles Me.Load

    Dim sPicturesDir = "c:\test\balls"
    Dim f As New DirectoryInfo(sPicturesDir)
    Dim fFiles = f.GetFiles

    ListBox1.DataSource = fFiles

End Sub

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged

    Dim fInfo As FileInfo = ListBox1.SelectedItem
    PictureBox1.Image = Image.FromFile(fInfo.FullName)

End Sub

现在的结果是这样的:

在上面,当我尝试右键单击列表框时,它没有选择。

我可以向列表框添加鼠标按下事件。

因此,假设我放入 ContentMenu 条,然后将此代码添加到列表框的鼠标按下事件中:

Private Sub ListBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles ListBox1.MouseDown

    If e.Button = MouseButtons.Right Then

        ContextMenuStrip1.Show(Cursor.Position.X, Cursor.Position.Y)

    End If

End Sub

结果又是在ListBox上右键没有选择该项,我们得到这样的效果:

再次,我没有看到任何简单的右键单击会导致在右键单击时选择列表框的效果或情况。

这就是为什么您的问题应该至少包含“一些”代码,因为我无法在这里重现您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.