如何知道右键是否在winforms中的“文本更改”事件之前的“正在编辑的文本”中?

时间:2018-03-12 09:41:32

标签: winforms grid contextmenu contextmenustrip

我的问题可能很简单,但我无法在网上找到具体的答案。
我有一个带有网格的winforms应用程序,其中我已经实现了一个右键单击单元格上显示的上下文菜单。这些单元格包含可以编辑的文本元素。当用户点击或双击单元格时,可以编辑文本,这就是我想要的。
问题是当文本处于编辑模式并且用户再次右键单击它时,相互显示2个上下文菜单。一个是我的上下文菜单,另一个是Windows右键单击文本,包括复制,粘贴等选项
我想知道是否有任何可以用于此类场景的“正在编辑的文本”或“打开的Windows默认上下文菜单”等事件?或者解决这个问题的正确方法是什么,我猜这个问题必须是常见问题。 在这些情况下,我想只显示Windows右键菜单,而不是我的。

1 个答案:

答案 0 :(得分:0)

也许您需要Control.GotFocus事件:https://msdn.microsoft.com/en-us/library/system.windows.forms.control.gotfocus%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

您可以寻找焦点,然后防止控件中的右键单击,直到控件失去焦点(Control.LostFocus)。如果控件从右键单击,则可以打开上下文菜单(我认为)。