问题标签 [contextmenustrip]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1869 浏览

c# - 在表单外显示/隐藏 ContextMenuStrip

我正在创建一个简单的剪贴板管理器应用程序。它监视剪贴板的内容。当发生更改时(通过 win api 消息循环),它会启动一个方法来捕获剪贴板的当前内容并创建名为 clipboarditem 的新对象。接下来它构建了一个 ContextMeuStrip,它由之前创建的几个剪贴板项组成。通过热键访问项目菜单。它在屏幕 itemsMenu.Show(caretPosition); 的某个位置显示此菜单,使用 .Focus(),我希望它在失去焦点后使其消失(例如,单击屏幕上的其他位置或通过以下方式切换应用程序alt 选项卡)。找到一个事件 OnLoseFocus 但我认为它不能正常工作,因为菜单甚至不会显示。

失去焦点后如何使 ContextMenuStrip 消失以及如何防止在 taskabr 中显示 ContextMenuStrip?

对不起我的语言能力:)

0 投票
4 回答
4317 浏览

c# - 在 StatusBar 项的位置显示 ContextMenuStrip

我想在 StatusStrip 中 ToolStripStatusLabel 的位置显示 ContextMenuStrip。普通控件有 PointToScreen / PointToClient / etc,但由于 ToolStripStatusLabel 是从 Component 派生的,它没有。

任何帮助,将不胜感激。

0 投票
2 回答
938 浏览

.net - ContextMenuStrip 自定义布局

我正在尝试让 Windows 窗体 ContextMenuStrip 控件显示国家/地区列表,总共约 200 个。目前它会垂直显示它们,这会导致需要很长时间才能滚动到列表底部附近的国家/地区。我试过弄乱 ContextMenuStrip.LayoutStyle 属性,但它没有让我到任何地方。可能有人对此有任何提示吗?我也搜索了谷歌,但没有找到答案。谢谢你的帮助!

0 投票
1 回答
722 浏览

contextmenustrip - 上下文菜单条

我在我的 C# 代码中的 treeView 的各个节点上添加了右键单击功能。当用户右键单击树上的这些节点时,应弹出“添加”、“删除”、“重命名”等选项。现在根据被单击的节点,我正在使用以下状态填充菜单:

contextMenuStrip1.Items.Add("添加");

然后,如果右键单击不同的节点,我将使用以下命令:

contextMenuStrip1.Items.Add("重命名");

有一些节点必须显示两个项目: contextMenuStrip1.Items.Add("Add"); contextMenuStrip1.Items.Add("删除");

当两者都存在于上下文菜单条中时,如何为添加和删除编写单独的事件处理程序。我无法区分是单击了“添加”还是“删除”。目前,我正在使用 ContextMenuStrip 上的“ItemClicked”事件在“添加”的事件处理程序中执行我的一段代码,但是当单击“删除”时,也会引发此事件。任何帮助,将不胜感激。

谢谢,维伦

0 投票
0 回答
1408 浏览

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

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

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

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

提前致谢!

0 投票
3 回答
4890 浏览

winforms - winforms - contextMenuStrip - 点击离开时关闭

我有一个带有ContextMenuStrip的DataGridView。ContextMenuStrip 的默认行为是自动关闭——即在用户与之交互时立即关闭。我已将其关闭以允许多个用户交互(这是我想要的),但除此之外,我真正需要的是上下文菜单随后在用户单击其自身之外的任何位置时关闭。

用户点击离开的空间可能直接在表单上,​​或者在子控件(或子控件的子控件等)上。然而无论如何,我希望巧妙地捕捉“点击离开”事件,从而关闭 ContextMenuStrip。

任何想法都将非常感激地接受。

塔米姆。

0 投票
10 回答
51287 浏览

c# - 在正确位置单击按钮时如何显示上下文菜单

我想单击一个按钮并让它显示ContextMenuStrip在按钮的正下方。PointToScreen当我尝试上下坐标时,它一直显示在屏幕的左侧。

有什么建议么?

0 投票
6 回答
2954 浏览

.net - ToolStripButton 文本在 ContextMenuStrip 中被截断

我正在实例化我自己的ToolStripButton并将其添加到ContextMenuStrip. 它弹出但文本被截断:

AutoSize知道为什么文本会像属性一样被截断true吗?

0 投票
2 回答
1101 浏览

c# - 如何在显示 ContextMenuStrip 时接收鼠标移动事件?

当用户将鼠标悬停在表格中的单元格上时,我使用 aContextMenuStrip向用户显示一些选项,Show(Control, int, int)方法是从表格的MouseMove事件中调用其方法,并将表格作为 Control 参数传入。

如果应用程序未处于活动状态,则一切都按预期工作;但如果应用程序处于活动状态,则MouseMove事件一旦显示就会停止触发ContextMenuStrip

如何在显示 ContextMenuStrip 时接收鼠标移动事件?我不想添加钩子或应用程序过滤器,我只想要非活动应用程序行为,即使应用程序处于活动状态。

0 投票
2 回答
1057 浏览

c# - 如何编写自己的 ContextMenu?C#

我觉得默认的 ContextMenuStrip 非常有限,因为它只能包含按钮,而没有控件。我想了很长时间,我已经尝试过,使用表格,但它从来没有真正成功过。

我已经有了如何设置整个事情的想法,包括事件和项目。我唯一的问题是绘画方法。当您打开一个 ContextMenu (ContextMenuStrip) 时,您可以设置它在鼠标光标上的位置,它会在那里,即使这意味着它超出了活动表单。(所以我不能将控件类用作继承,因为它们只能将自己绘制为表单的一部分。现在我想使用表单类作为我的 ContextMenu 的基础,但是那些随机放置在屏幕上的。

所以我真正需要的是一个类(或类似的东西),它可以自己绘制,没有问题,并且可以准确地放置在屏幕上。

任何提示都会很好,谢谢。

疯子格雷格