vb.net - 在运行时动态更改控件的 ContextMenuStrip 属性?
问题描述
我有一个 DataGridView,如果右键单击单元格,我想使用一个 ContextMenuStrip,如果单击单元格标题,我想使用不同的 ContextMenuStrip。我不想只是添加或删除或使“相同”CMS 的成员可见或不可见。我认为这就像右键单击更改 DataGridView 的属性一样简单,但我一定是弄错了。
Private Sub DgvItems_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DgvItems.CellClick
Dim dgv As DataGridView = DgvItems
If MouseButtons.Right Then
Select Case md.HitTestInfo.Type
Case DataGridViewHitTestType.ColumnHeader
dgv.ContextMenuStrip = CmsDgvItemsColHdrs
dgv.ContextMenuStrip.Show()
Case DataGridViewHitTestType.Cell
dgv.ContextMenuStrip = CmsDgvItemsRows
dgv.ContextMenuStrip.Show()
End Select
End If
End Sub
有任何想法吗?
解决方案
呃。也许如果我第一次有正确的事件它会起作用。
这是正确的代码,无需dgv.ContextMenuStrip.Show()
再次“”...
Private Sub DgvItems_CellMouseDown(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DgvItems.CellMouseDown
Dim dgv As DataGridView = DgvItems
If MouseButtons.Right Then
Select Case md.HitTestInfo.Type
Case DataGridViewHitTestType.ColumnHeader
dgv.ContextMenuStrip = CmsDgvItemsColHdrs
Case DataGridViewHitTestType.Cell
dgv.ContextMenuStrip = CmsDgvItemsRows
End Select
End If
End Sub
推荐阅读
- linked-list - Ocaml双链表:从双链表中删除满足条件的节点
- r - 在闪亮的应用程序中更改 tabPanels 名称的字体
- jsf - 忽略 JSF 动作方法的返回值
- python - 具有可选绑定的python链表队列
- python - 在python中测试随机数均匀分布的假设
- python - 从行中组合字典列表,然后从中提取字符串以形成新行
- web-crawler - 如何使用 Git bash 为以太坊索引器设置环境变量?
- javascript - Electron+nuxt+amCharts 4:意外的代币导出
- javascript - 为什么 React.js 默认不绑定它的函数和这个对象
- sql - 减去两个值时返回空值