尝试更改菜单条上的文本时出错

本文关键字:文本 出错 菜单 | 更新日期: 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);