gpt4 book ai didi

c# - 如何将 ContextMenuStrip 添加到 ToolStripButton?

转载 作者:行者123 更新时间:2023-12-03 05:10:34 26 4
gpt4 key购买 nike

我有一个工具条,其中包含一个 ToolStripComboBox 和一个 ToolStripButton。我想向它们添加一个 ContextMenuStrip,但我无法直接访问工具条或其其他内容,因此无法设置工具条的上下文菜单。

为 ToolStripComboBox 设置 ContextMenuStrip 很简单:

myToolStripComboBox.ComboBox.ContextMenuStrip = myContextMenu;

但是 ToolStripButton 没有明显的等效项。如何将 ContextMenuStrip 添加到 ToolStripButton?

最佳答案

杰夫·耶茨的建议应该可行。

但是,另一种选择是创建您自己的派生类(MyToolSTripButton、MyToolStripTextBox ...等),为这些项目提供一个您可以在设计时设置的 ContextMenuStrip 属性,并让您的派生类检测鼠标右键按下,或者其他什么其他事件将触发上下文菜单的显示。

这会减轻仅那些感兴趣的项目所需的任何知识。

下面是一个使用 ToolStripTextBox 作为项目的示例。

public class MyTextBox : ToolStripTextBox
{
ContextMenuStrip _contextMenuStrip;

public ContextMenuStrip ContextMenuStrip
{
get { return _contextMenuStrip; }
set { _contextMenuStrip = value; }
}

protected override void OnMouseDown(MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (_contextMenuStrip !=null)
_contextMenuStrip.Show(Parent.PointToScreen(e.Location));
}
}
}

关于c# - 如何将 ContextMenuStrip 添加到 ToolStripButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/283417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com