Vb.net 禁用鼠标单击以更改列表框中的选定索引

Vb.net 禁用鼠标单击以更改列表框中的选定索引,vb.net,listbox,Vb.net,Listbox,背景: 在我的程序中,我有一个发送给机器人的命令列表。每个命令都有编号,我将它们显示在列表框中。当我的程序运行完每个命令后,我希望它高亮显示列表框中的下一行。更改SelectedIndex似乎可以满足我的需求。但是,我不希望用户能够通过鼠标单击更改SelectedIndex 到目前为止,我所尝试的: 禁用列表框不起作用,因为它会禁用滚动 这里的解决方案似乎有点像黑客,并不能完全满足我的需求 适用于C#,不太熟悉C#,因此如果我尝试将其转换为vb.net,我不确定此解决方案是否有效。如果这个解决

背景:

在我的程序中,我有一个发送给机器人的命令列表。每个命令都有编号,我将它们显示在列表框中。当我的程序运行完每个命令后,我希望它高亮显示列表框中的下一行。更改SelectedIndex似乎可以满足我的需求。但是,我不希望用户能够通过鼠标单击更改SelectedIndex

到目前为止,我所尝试的:

  • 禁用列表框不起作用,因为它会禁用滚动

  • 这里的解决方案似乎有点像黑客,并不能完全满足我的需求

  • 适用于C#,不太熟悉C#,因此如果我尝试将其转换为vb.net,我不确定此解决方案是否有效。如果这个解决方案确实正确,我可以得到一些关于如何将其转换为vb.net的指导吗


我被困在这一点上,似乎我应该寻找一个更好的解决方案来解决这个问题。你们推荐什么?我应该继续尝试寻找一种方法来禁止用户通过鼠标单击来更改所选索引,还是应该采用完全不同的方法?

当代码更改索引时,只需使用布尔值即可忽略更改事件index@Plutonix我没有完全明白。你能详细说明一下吗?我正在使用WinForms。本质上,我制作了一个windows窗体应用程序,以提供一种向机器人发送宏命令的简单方法。我实现了一个序列文件读取器,它接收一个文本文件并执行行中的每个命令。下面是一个示例:move x:300 y:-400 z:8000 move x:600 y:-1300 z:8000 move x:600 y:-1300 z:10000这并不完全是命令的编写方式,但并不重要。假设我运行这个命令序列。此命令列表将显示在列表框中。当它执行第一个命令时,我希望第一个命令高亮显示,当第二个命令运行时,我希望第二个命令高亮显示,依此类推