1 回答
TA贡献1829条经验 获得超7个赞
该For a ContextMenuStrip答案为SO问题的部分确定哪些控制的ContextMenuStrip被使用上 几乎回答我的问题。
但是,在我的情况下,我想处理ContextMenuStrip项目右键单击并在更改时访问ContextMenuStrip项目,因此我的代码使用项目事件方法而不是项目事件方法。因此,我需要将发件人强制转换为 a而不是 。除此之外,我使用SO 问题中的部分答案确定在我的事件方法中使用了 ContextMenuStrip 的哪个控件:CheckStateCheckStateContextMenuStrip_CheckStateChangedContextMenuStrip_ClickToolStripMenuItemToolStripItemFor a ContextMenuStripDocumentActionToolStripMenuItem_CheckStateChanged
private void DocumentActionToolStripMenuItem_CheckStateChanged(object sender, EventArgs e)
{
Control treeNodeControl;
ToolStripMenuItem toolStripMenuItem = (ToolStripMenuItem)sender;
// if the ToolStripMenuItem item is owned by a ContextMenuStrip ...
if (toolStripMenuItem.Owner is ContextMenuStrip contextMenuStrip)
{
// Get the TreeNode that is displaying this context menu
treeNodeControl = contextMenuStrip.SourceControl;
if (toolStripMenuItem.CheckState == CheckState.Checked)
{
//Do something with treeNodeControl.SelectedNode treeView node
}
}
}
- 1 回答
- 0 关注
- 152 浏览
添加回答
举报