首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >右键单击ListBox打开ToolStripMenu,但未选择任何项目

右键单击ListBox打开ToolStripMenu,但未选择任何项目
EN

Stack Overflow用户
提问于 2016-10-16 23:01:44
回答 1查看 263关注 0票数 0

我有一个包含完整路径的ListBox和一个选择打开文件或在文件夹中显示文件的ToolStripMenu

问题是:在右键单击以选择需要在文件夹中显示的文件之前,我需要在ListBoxItem上左键单击。

如果我不这样做,我会得到NullReferenceException,因为没有选择任何项。

如何才能选择右键单击的项目?

下面是我的代码:

代码语言:javascript
复制
Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ShowInFolderToolStripMenuItem.Click
    Try
        If DirectCast(DirectCast(sender, ToolStripMenuItem).GetCurrentParent,  _
            ContextMenuStrip).SourceControl.GetType Is GetType(ListBox) Then

            Shell("explorer /select, " & DirectCast(DirectCast(DirectCast(sender,  _
                  ToolStripMenuItem).GetCurrentParent, ContextMenuStrip).SourceControl,  _
                  ListBox).SelectedItem.ToString, AppWinStyle.NormalFocus)
        End If
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
End Sub

还有一个问题..。为什么下面的代码不能工作,但不能给出错误并显示文档文件夹?

代码语言:javascript
复制
Process.Start("explorer.exe", "/select" & DirectCast(DirectCast(DirectCast(sender,  _
    ToolStripMenuItem).GetCurrentParent, ContextMenuStrip).SourceControl,  _
    ListBox).SelectedItem.ToString)
EN

回答 1

Stack Overflow用户

发布于 2016-10-17 00:51:30

已解决添加MouseDown事件的问题:

代码语言:javascript
复制
Private Sub ListBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles ListBox1.MouseDown
    Try
        DirectCast(sender, ListBox).SelectedIndex = DirectCast(sender, ListBox).IndexFromPoint(e.X, e.Y)
    Catch ex As Exception
    End Try
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40071735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档