Tag: contextmenustrip

从C#中的子上下文菜单项访问时,源控件为null

我正在尝试在从上下文菜单条单击子菜单项(颜色>红色)时更改按钮的颜色。 此代码附加到用户定义的按钮数量。 为了确定他们试图改变哪个按钮,我试图从子项到源控件,如:sender> owner工具条>所有者菜单>源代码控制。 我的代码: private void redToolStripMenuItem_Click(object sender, EventArgs e) { ToolStripItem subItem = sender as ToolStripItem; if (subItem == null) return; ToolStripItem mainItem = subItem.OwnerItem as ToolStripItem; if (mainItem == null) return; ContextMenuStrip menuStrip = mainItem.Owner as ContextMenuStrip; if (menuStrip == null) return; DataGridView dataGridView = menuStrip.SourceControl as DataGridView; if (dataGridView == null) […]

不要在选择某些项目时关闭ContextMenuStrip

在选择/检查某些项目后,是否可以打开ContextMenuStrip? 我计划使用一个简单的ContextMenuStrip来设置filter(这样我可以在菜单中使用相同的filter或作为右键单击选项)。 菜单列出了许多项目,我希望用户能够使用基本检查function选择项目。 完成选择后,用户可以单击“激活”filter选项,也可以单击菜单外部以激活或取消filter。 在选择/单击事件上,菜单通常会关闭。 是否可以在点击事件中保持菜单打开?

如何识别右键单击ContextMenuStrip的dataGridView单元格?

用户右键单击DGV中的单元格,然后在ContextMenuStrip中进行选择。 根据他们的CMS选择,我想做点什么(复制,隐藏,过滤)。 我的问题是识别右键单击的单元格。 我试图使用以下方法处理此方案,但无法引用[ColumnIndex]。 private void cmsDataGridView_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { switch (e.ClickedItem.Text) { case “Copy”: break; case “Filter On”: break; case “Hide Column”: DataGridViewBand band = dataGridView1.Columns[e.ColumnIndex]; band.Visible = false; break; } } 我应该用两种不同的方法吗? 一个处理鼠标点击(然后我可以捕获DGV列索引),然后从那里,我调用CMS项目点击事件? 感谢你的帮助,Brian。 适合我的代码。 哦,我必须从设计器中的dataGridView的ContextMenuStrip属性中删除cmsDataGridView方法。 离开那里会引起问题。 // Identify the cell clicked for cmsDataGridView DataGridViewCell clickedCell; private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) […]

创建控件的透明部分以查看其下方的控件

我修改了CodeProject中的SuperContextMenuStrip ,以满足我的一些项目需求。 我将它用作GMap.NET地图控件上地图标记的工具提示。 以下是它的样子: 我想做的就是通过让它看起来更像泡泡来实现这一点。 与旧的Google Maps Stytle工具提示类似: 我花了一些时间搜索控制透明度,我知道这不是一件容易的事。 这个SO问题特别说明了这一点。 我已经考虑重写SuperContextMenuStrip的OnPaint方法来绘制SuperContextMenuStrip下面的SuperContextMenuStrip控件的背景,但即使在标记挂起GMap.NET控件的情况下也会失败: 创建我正在寻找的透明度类型的正确方法是什么?

如何使用C#4.0在contextmenustrip中添加子菜单项?

我有一个与treenode相关的contextmenustrip控件。 我在表单本身中手动创建了一个菜单项(例如,命名为“Assign”)。 现在,我想在用户单击此Assign项时添加子菜单项,它将创建一个用户名列表作为带有选中或未选中选项的子菜单项。 例如,一旦用户单击Assign,然后我想动态显示用户名。

ContextMenuStrip.Owner属性null从嵌套ToolStripMenuItem检索时

我有一个带有两个ToolStripItem的ContextMenuStrip设置。 第二个ToolStripItem有两个额外的嵌套ToolStripItem 。 我将其定义为: ContextMenuStrip cms = new ContextMenuStrip(); ToolStripMenuItem contextJumpTo = new ToolStripMenuItem(); ToolStripMenuItem contextJumpToHeatmap = new ToolStripMenuItem(); ToolStripMenuItem contextJumpToHeatmapStart = new ToolStripMenuItem(); ToolStripMenuItem contextJumpToHeatmapLast = new ToolStripMenuItem(); cms.Items.AddRange(new ToolStripItem[] { contextJumpTo, contextJumpToHeatmap}); cms.Size = new System.Drawing.Size(176, 148); contextJumpTo.Size = new System.Drawing.Size(175, 22); contextJumpTo.Text = “Jump To (No Heatmapping)”; contextJumpToHeatmap.Size = new System.Drawing.Size(175, 22); […]