尝试更改菜单条上的文本时出错
本文关键字:文本 出错 菜单 | 更新日期: 2023-09-27 18:21:36
我有一个表单,用户在其中输入文本,MenuStrip中所有包含该文本的地方都将被更改。该方法遍历所有项,但没有进行更改。这是我的代码:
private void ChangeMenu(string oldtext, string newtext)
{
frmMenu fmenu = new frmMenu();
MenuStrip menu = fmenu.menuStrip1;
foreach (ToolStripMenuItem item in menu.Items)
{
foreach (ToolStripItem subitem in item.DropDownItems)
{
if (subitem is ToolStripSeparator)
continue;
else
{
if (subitem.Text.IndexOf(oldtext) >= 0)
subitem.Text.Replace(oldtext, newtext);
}
}
}
}
我找不到问题。
您的代码不起作用,因为String.Replace
方法返回一个带有相应替换的新字符串
用以下代码替换else
零件:
if (subitem.Text.Contains(oldtext))
subitem.Text = subitem.Text.Replace(oldtext, newtext);