У меня есть ListBox
, содержащий полный путь и ToolStripMenu
, чтобы выбрать «Открыть файл» или «Показать файл в папке».Щелкните правой кнопкой мыши на ListBox, чтобы открыть ToolStripMenu, но не выбирает какой-либо элемент.
Вопрос: Мне нужно левое Нажмите на ListBoxItem
перед Щелкните правой кнопкой мыши, чтобы выбрать файл, который мне нужно показать в папке.
Если я этого не делаю, я получаю NullReferenceException
, потому что ничего не выбрано.
Как я могу выбрать элемент Щелкните правой кнопкой мыши?
Вот мой код:
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
Еще один вопрос ... Почему приведенный ниже код не работает, но не дает ошибку и показать мне папку документа?
Process.Start("explorer.exe", "/select" & DirectCast(DirectCast(DirectCast(sender, _
ToolStripMenuItem).GetCurrentParent, ContextMenuStrip).SourceControl, _
ListBox).SelectedItem.ToString)
Вы можете проверить, есть ли выбранный элемент в начале – Plutonix
@Plutonix Да, я знаю это. Но можно было выбрать 1-й элемент и щелкнуть правой кнопкой мыши на 3-м элементе, и поэтому может отображаться неверный файл. – genespos
@Plutonix Я решил, но я все еще открыт для лучших решений;) – genespos