C#中listview右键菜单的问题,请大家帮忙!
我用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();
}
}
我只想在有项的地方出现右键菜单,没有项的空白区域不要出现,但是不能实现这个结果呢!
[解决办法]
忘记了
[解决办法]
我也忘了
------解决方案--------------------
判断鼠标的位置是否在node上,不在的话,就不要弹右键菜单了。
[解决办法]
这个但是做项目的时候用过,现在忘记了,对于listview也不是很熟练