0

我在 .NET 应用程序中为文本框创建了一个上下文菜单,效果很好。现在我想为我的应用程序中的所有文本框使用相同的上下文菜单。目前,我正在使用如下代码来处理现有功能:

private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e)
{
        // Disable Undo if CanUndo property returns false
        if (mainTextBox.CanUndo)
        {
            contextMenuStrip1.Items["Undo"].Enabled = true;
        }
        else
        {
            contextMenuStrip1.Items["Undo"].Enabled = false;
        }
}

我的问题是如何转换此代码,以便所有文本框都可以使用相同的代码,而不是为所有文本框实例一遍又一遍地重写。我为所有文本框分配了相同的上下文菜单,但更具体地说,如何将调用文本框的名称传递给函数?我希望它可能很简单:

// Disable Undo if CanUndo property returns false
if (this.CanUndo)
{
   contextMenuStrip1.Items["Undo"].Enabled = true;
}
else
{
   contextMenuStrip1.Items["Undo"].Enabled = false;
}

不幸的是,这不起作用。有任何想法吗?

4

0 回答 0