.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;
}
残念ながら、これは機能していません。何か案は?