【问题标题】:ContextMenuStrip on User control containing Richtextbox C#包含 Richtextbox C# 的用户控件上的 ContextMenuStrip
【发布时间】:2025-12-20 22:25:08
【问题描述】:

我制作了一个自定义控件,它由一个richtextbox 和一个图片框组成。现在我想在 Richtextbox 上包含一个 contextmenustrip。但是我想在菜单条上单击不同菜单时调用的代码属于我将在其中添加此控件的主项目。所以我想在项目中将 contextmenustrip 添加到用户控件中。但是现在的问题是,如果我右键单击图片框,我会得到菜单条,但是当我右键单击 Richtextbox 时,我没有得到 contextmenustrip,有什么原因或建议吗?

奇怪的是,我为处理项目中的用户控件而编写的任何事件都不会触发。是因为我把它放在面板控件中吗?有什么帮助吗?

【问题讨论】:

  • "我已经把它放在面板控件中" 与此无关。无论控件在哪里,该事件都应该触发。你确定事件连接正确吗?

标签: c# richtextbox user-controls contextmenustrip


【解决方案1】:

将上下文菜单添加到富文本框中,就像您最初所做的那样。 现在,不再执行代码,而是在单击菜单项时引发事件。

在主项目中处理这个新事件。

【讨论】:

  • 您能否详细说明单击菜单项时引发事件的含义?你的意思是我必须完整地编写菜单,并为每个菜单项引发事件点击?
  • @Anirudh:您可以为每个菜单项执行一个事件或为每个菜单项执行一个事件,并将派生 EvetArgs 类中传递的菜单项作为参数。
  • @anirudh:TcKs 所说的——我的回答差不多 :)
  • 嗨,我可以弄清楚 TcKs 是什么意思。如果我能找到一些示例代码,那就太好了。
  • ondotnet.com/pub/a/dotnet/2002/04/15/events.html 这个链接是否包含你的意思?