- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个表单,其中包含带有许多点击页面的选项卡面板。它们每个都有自己的上下文菜单(右键单击时显示)。但是如果我将一个 ToolStripMenuItem 添加到多个 ContextMenuStrips 只有最后一个菜单条真正有这个菜单项。简单的代码示例是:
ToolStripMenuItem tim_refresh = new ToolStripMenuItem("Refresh", null, (o, e) =>
{
MessageBox.Show("Refresh");
});
ContextMenuStrip cms1 = new ContextMenuStrip();
cms1.Items.Add(tim_refresh);
ContextMenuStrip cms2 = new ContextMenuStrip();
cms2.Items.Add(tim_refresh);
this.tblDataManagerObjects.ContextMenuStrip = cms1;
this.tblDataSourceTypes.ContextMenuStrip = cms2;
如果一个一个地显示这个菜单,第一个将是空的...我怎样才能达到我想要的?
最佳答案
这是因为视觉对象不能同时是多个不同视觉对象的子对象。在您的情况下,tim_refresh
同时是 cms1
和 cms2
的 child 。
您需要创建两个完全独立的 ToolStripMenuItem
实例。
编辑:
您可以在 factor 方法中提取可视化创建以简化多个对象实例化:
private ToolStripMenuItem CreateToolStripMenuItem(string name)
{
return new ToolStripMenuItem(name, null, (o, e) =>
{
MessageBox.Show(name);
});
}
// then just call it once per each menu strip
ContextMenuStrip cms1 = new ContextMenuStrip();
cms1.Items.Add(CreateToolStripMenuItem("Refresh"));
ContextMenuStrip cms2 = new ContextMenuStrip();
cms2.Items.Add(CreateToolStripMenuItem("Refresh"));
关于c# - 多个 ContextMenuStrip 的 ToolStripMenuItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8307959/
我能够在 Windows 窗体外成功显示 ContextMenuScript (CMS)。 我可以使用鼠标指针选择/单击项目。 但是,当表单未获得焦点时,它不喜欢键盘控制(向上/向下箭头、转义)。 如
我有一个带有ContextMenuStrip的DataGridView。ContextMenuStrip 的默认行为是自动关闭 - 即在用户与其交互时立即关闭。我已关闭此功能以允许多个用户交互(这就是
我有一个包含很多项目的 ContextMenuStrip。 如何处理鼠标滚轮来滚动项目? 我在网上搜索,但没有找到有用的东西。 或者如何从上下文菜单中获取第一个/最后一个显示/可见的项目? 最佳答案
我正在尝试为我的应用程序创建一个专门的工具栏,它由几个按钮组成,单击这些按钮时应在它们上方显示一个 ContextMenuStrip 并提供一些选择。看来我无法将此菜单绘制在正确的位置。 下面是重现问
当我更改 ToolStripLabel 的文本时在我的上下文菜单中,当我更改菜单项的文本时,上下文菜单不会像预期的那样自动调整大小。 然后看起来像这样: 如何正确调整上下文菜单的大小? 我可以更改真实
如何根据值设置和获取上下文菜单条中项目的文本和/或背景的颜色值? 这段代码是正确的吗? ContextMenuStrip1.Items.Add("this is an item").BackColor
我正在尝试制作一个带有通知图标的 contextMenuStrip,但我无法将此上下文的位置放在鼠标位置上方。它显示在相同的位置鼠标 Context menu strip position Image
我从 ContextMenuStip 得到一些不稳定的行为: private void lstModules_MouseMove(object sender , MouseEventArgs e)
我目前正在开发 Windows 触摸应用程序。一些 winForm 代码仍然存在。如您所见,滚动/箭头按钮的高度对于触摸按钮来说确实太小了。有没有办法将高度增加到 35/40 像素? 以下链接是一个V
是否可以在选择/检查某些项目后让 ContextMenuStrip 保持打开状态? 我计划使用一个简单的 ContextMenuStrip 来设置过滤器(这样我就可以在菜单中或作为右键单击选项使用相同
我正在创建大量自定义控件并将它们添加到 FlowLayoutPanel。还有一个在设计时创建和填充的 ContextMenuStrip。 每次将控件添加到面板时,都会将其 ContextMenuStr
我有一个分配给几个不同列表框的 ContextMenuStrip。我试图弄清楚什么时候 ContextMenuStrip 被点击,它被用在什么 ListBox 上。我尝试了下面的代码作为开始,但它不起
我有一个 ContextMenuStrip,它显示可以由用户命名的项目;允许用户指定包含与符号的项目名称。当显示 ContextMenuStrip 时,项目将 & 符号视为转义序列,并在下一个字符下划
tl/dr:我第二次调用 ContextMenuStrip.Show 时,它不显示。 我正在构建一个在后台运行但在用户点击特定热键时在鼠标光标上显示下拉菜单的应用程序。 如果应用程序具有焦点,则这在
当我右键单击 ListView 列标题时,我显示了一个不同的 ContextMenuStrip,在 ListView 中显示了另一个。 class ListViewExx : ListView {
我有一个 ContextMenuStrip,我想在设计器中为其 ToolStripMenuItems 分配事件处理程序。如果我选择编辑项目集合,我可以编辑我添加的 ToolStripMenuItems
我正在寻找一种在 VB.net 中实现 TreeView 的好方法,其 contextMenuStrip 是基于表单中不同对象的状态而变化的。 具体来说,在下面的“TreeView”中,当对象 sta
当我在 datgridview 中右键单击一行时,我正在尝试创建一个显示上下文菜单的事件。 这是正在发生的问题的图片: 这是我目前使用的代码: Private Sub dgvStudents_Cell
我已经为我的 NotifyIcon(在系统托盘中)创建了 ContextMenuStrip。但是,ContextMenuStrip 的方向总是在左边。我注意到在许多其他应用程序(如 Skype)上,它
我确信这个问题的答案之前已经发布过。请原谅我,我想我只是没有想到正确的搜索字符串。 我拥有的是分配给拨号器托盘图标的上下文菜单条。这个想法是让用户设置各种号码并从菜单中选择用户定义的号码并启动拨号。
我是一名优秀的程序员,十分优秀!