以编程方式设置ToolStripMenuItem助记符

时间:2016-01-19 13:30:08

标签: vb.net mnemonics

我将MakesANetworkCall添加到基于机器上可用的COM端口的菜单中,以允许用户检查一个以供使用。

我想为每个菜单项添加一个助记符,以便结果与我手动添加" COM& 6"相同。作为ToolStripMenuItem.Text属性值。

但是,使用Supplier<String>似乎没有任何效果,或者我可能错误地设置了文字?

我怎样才能做到这一点?目前我对此细分的完整代码如下:

ToolStripMenuItem

编辑:我意识到我可能实际上并不想这样做,因为如果COM数字移动到两位数(例如COM&amp; 1和COM&amp; 10将是相同的助记符),这将导致问题。但是我仍然有兴趣了解这个可以如何完成以及为什么我的代码不起作用。

1 个答案:

答案 0 :(得分:0)

正如@HansPassant评论的那样,字符串是不可变的,因此必须使用类似于共享函数的Insert()。 也就是说,而不是:

p = tsmi.Name
p.Insert(3, "&")
tsmi.Text = p

我应该使用:

tsmi.Text = tsmi.Name.Insert(3, "&")