C#中listview右键菜单的问题,请大家帮忙!

蔚蓝理想 2012-04-08 12:48:00
我用dotnetbar中的listview和其中的contextMenu。如果listview中有项,右键可以弹出相关联的菜单,没有折不弹出。

private void listView_Route_MouseClick(object sender, MouseEventArgs e)
{
ListViewItem lvi = listView_Route.GetItemAt(e.X, e.Y);

if (lvi != null && e.Button == MouseButtons.Right)
{
this.contextMB_ForRoute.Show();

}
}

private void listView_Route_MouseUp(object sender, MouseEventArgs e)
{
if (MouseButtons.Right == e.Button)
{
if (listView_Route.GetItemAt(e.X, e.Y) == null)
{
// 移除绑定右键菜单
listView_Route.ContextMenu = null;
}
}
else
{
// 移除绑定右键菜单
listView_Route.ContextMenu = null;
}
}

private void listView_Route_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
// 遍历数据
foreach (ListViewItem item in listView_Route.SelectedItems)
{

// 绑定右键菜单
this.contextMB_ForRoute.Show();

}
}


我只想在有项的地方出现右键菜单,没有项的空白区域不要出现,但是不能实现这个结果呢!
...全文
764 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
渃水 2013-03-02
  • 打赏
  • 举报
回复

            if (e.Button == MouseButtons.Right && this.listView1.SelectedItems.Count > 0)
            {
                this.contextMenuStrip1.Show(this, e.Location);
            }
渃水 2013-03-02
  • 打赏
  • 举报
回复
同问!谢谢!!
x723229923 2012-04-09
  • 打赏
  • 举报
回复
我也忘了
OrangeEvan 2012-04-09
  • 打赏
  • 举报
回复
判断鼠标的位置是否在node上,不在的话,就不要弹右键菜单了。
血痕123456 2012-04-09
  • 打赏
  • 举报
回复
这个但是做项目的时候用过,现在忘记了,对于listview也不是很熟练·····
anzhiqiang_touzi 2012-04-08
  • 打赏
  • 举报
回复
忘记了

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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