弱弱的问一下:单击右键菜单菜单项如何关联到事件处理过程

lkhoji 2010-08-08 02:57:42
问题如题:单击右键菜单菜单项如何关联到事件处理过程。例如下面代码的菜单,单击右键菜单的“升序”菜单项的时候,如何关联到过程“升序排序”

Private Sub 初始化右键菜单()

ContextMenuStrip1.Items.Add("复制")
ContextMenuStrip1.Items.Add("粘贴")
ContextMenuStrip1.Items.Add("-")
ContextMenuStrip1.Items.Add("升序")
ContextMenuStrip1.Items.Add("降序")
ContextMenuStrip1.Items.Add("-")
ContextMenuStrip1.Items.Add("查找")

DataGridView1.ContextMenuStrip = ContextMenuStrip1

End Sub

Private Sub 升序排序()
'代码略
End Sub
...全文
171 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lkhoji 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 asdfy 的回复:]
Dim newMenu As New ToolStripMenuItem
newMenu.Text = "升序"
ContextMenuStrip1.Items.Add(newMenu)
AddHandler newMenu.Click, AddressOf 升序排序

Private Sub 升序排序(ByVal sender As System.Object, ByVal e As ……
[/Quote]
研究了四五个小时了,没有肯定的结论,是不是右键菜单都得有事件来处理啊?
古今多少事 2010-08-08
  • 打赏
  • 举报
回复
Dim newMenu As New ToolStripMenuItem
newMenu.Text = "升序"
ContextMenuStrip1.Items.Add(newMenu)
AddHandler newMenu.Click, AddressOf 升序排序

Private Sub 升序排序(ByVal sender As System.Object, ByVal e As System.EventArgs)
'代码略
End Sub
lkhoji 2010-08-08
  • 打赏
  • 举报
回复
这样也不知道右键菜单的那个选项被点击了啊。

关键就是我不知道右键菜单的那个选项被点击了,怎么获取被点击的项呢?
wuyq11 2010-08-08
  • 打赏
  • 举报
回复


private void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (e.RowIndex >= 0)
{
dataGridView.ClearSelection();
dataGridView.Rows[e.RowIndex].Selected = true;
dataGridView.CurrentCell = dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex];
contextMenuStrip.Show(MousePosition.X, MousePosition.Y);
}
}
}

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧