我在.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;
}
}
我的问题是如何转换此代码,以便所有文本框都可以使用相同的代码,而不是一遍又一遍地重写所有文本框实例。我已经为所有文本框分配了相同的contextmenu,但更具体地说,我如何将调用文本框的名称传递给函数?我希望它可能很简单:
// Disable Undo if CanUndo property returns false
if (this.CanUndo)
{
contextMenuStrip1.Items["Undo"].Enabled = true;
}
else
{
contextMenuStrip1.Items["Undo"].Enabled = false;
}
不幸的是,这不起作用。有什么想法吗?