从toolstripmenuitem中移除一个项目

本文关键字:一个 项目 toolstripmenuitem | 更新日期: 2023-09-27 18:13:48

我目前正在我的应用程序顶部的一个菜单栏。

添加用户名到菜单是没有问题的,但是删除用户名似乎是不同的。我使用以下代码向菜单中添加一项:

usernamesToolStripMenuItem1.DropDownItems.Add(toolStripTextBox3.Text);

就像我说的,它工作得很好,并立即将用户名添加到菜单。但是,当我试图从菜单中删除一个项目时,它不会立即删除它,我必须重新启动我的应用程序。

所以:我必须改变什么,所以它立即从下拉项的文本框中删除字符串?我将用户名保存在Properties.Default.Settings.Usernames中。是否有一个原因,为什么它立即添加一个菜单项,但当我试图删除一个我必须重新启动我的应用程序?

编辑:

删除项的代码:

private void oKToolStripMenuItem3_Click(object sender, EventArgs e)
{
    if (string.IsNullOrEmpty(toolStripTextBox4.Text))
    {
       MessageBox.Show("Please enter the username you would like to delete in the textbox., "Error");
       return;
     }
if (Properties.Settings.Default.Usernames.Contains(toolStripTextBox4.Text) == false)
{
    MessageBox.Show("The username you're trying to delete does not exist.", "Error");
    toolStripTextBox4.Clear();
    return;
}
usernamesToolStripMenuItem1.DropDownItems.RemoveByKey(toolStripTextBox4.Text);
Properties.Settings.Default.Usernames.Remove(toolStripTextBox4.Text);
toolStripTextBox4.Clear();

}

从toolstripmenuitem中移除一个项目

要使用RemoveByKey方法,需要设置ToolStripItem.Name属性。在添加项时,使用以下代码。

var tsi = usernamesToolStripMenuItem1.DropDownItems.Add(toolStripTextBox3.Text);
tsi.Name = toolStripTextBox3.Text;