读书人

listview中鼠标右键的有关问题

发布时间: 2012-02-16 21:30:36 作者: rapoo

listview中鼠标右键的问题
listview设置为Details
我现在想鼠标右键listview中的行时能够有右键

但是如果直接在属性ContextMenuStrip中关联,那么只要在listview中鼠标右键就会出来菜单

我需要的是在listview中选中的行时鼠标右键才有菜单
应该在哪怎么判断下

[解决办法]
对Listview的菜单,在开始的时候不要设置,而是通过下面的代码来设置:
private void listView1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (this.listView1.GetItemAt(e.X, e.Y) != null)
{
this.listView1.ContextMenuStrip = this.contextMenuStrip1;
}
else
{
this.listView1.ContextMenuStrip = null;
}
}
}
[解决办法]
一般用的是一楼的方法
二楼这个方法应该也可以
[解决办法]
加一个ContextMenu cm1;
对Listview的菜单,在开始的时候不要设置,而是通过下面的代码来设置:
private void listView1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (this.listView1.GetItemAt(e.X, e.Y) != null)
{
cm.Show( listView1 , new Point(e.X,e.Y、));
}
}
}

读书人网 >C#

热点推荐