如何在C#中访问ContextMenuStrip的原始控件?

时间:2009-09-30 18:58:23

标签: c# .net contextmenustrip

我已将ContextMenuStrip附加到TabControl并为OnMouseDown设置了一个处理程序,它执行以下操作:

  if (e.Button != MouseButtons.Right) {
    return;
  }

  for (var i = 0; i < tabControl1.TabCount; ++i) {
    var point = new Point(e.X, e.Y);

    if (tabControl1.GetTabRect(i).Contains(point)) {
      tabPageContextMenu.Show(tabControl1, point);
    }
  }

这正确地显示了ContextMenuStrip但是,在ContextMenuStrip包含的MenuItem的Click事件中,我似乎无法访问实际生成ContextMenuStrip的底层TabControl或TabPage。

然后问题变成了:我如何才能最好地访问原始控件?显然,在MouseDown处理程序中,我可以将控件分配给私有类变量,但我假设有一种标准方式通过我目前忽略的某些属性。

提前致谢!

0 个答案:

没有答案