【问题标题】:Find parent control of ToolStripMenuItem查找 ToolStripMenuItem 的父控件
【发布时间】:2012-04-21 23:33:16
【问题描述】:

我有一个附加到多个控件的 ContextMenuStrip。它有项目{添加、删除、编辑}。当用户右键单击我的一个列表框控件(弹出此上下文菜单)并选择“添加”时,如何从传入的 ToolStripMenuItem 引用派生列表框控件?

    private void OnAddEntry(object sender, EventArgs e)
    {
        // Example: ?????
        ListBox lb = sender.Parent;
    }

【问题讨论】:

  • ListBox lb = ((ListBox)sender.Parent);或者 ListBox lb = ((ListBox)sender.Parent.Parent);

标签: c# winforms c#-4.0


【解决方案1】:

马克,试试这个:

((ContextMenuStrip)(((ToolStripMenuItem)sender).Owner)).SourceControl

【讨论】:

  • 小心使用键盘快捷键,SourceControl 可以为空。
【解决方案2】:

我猜你可以沿着父母链向上走,直到找到列表框。

您可以使用 OwnerItem 属性来加速此操作,直接进入工具条。

您总是可以将项目的标签设置为列表框,然后根据需要使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    相关资源
    最近更新 更多