C#ListView控件问题

我用C#中的ListView等控件编一个文件浏览器的程序,用ListView控件显示文件夹的内容。我想像Windows资源管理器一样,右击显示快捷菜单,比如“删除”“重命... 我用C#中的ListView等控件编一个文件浏览器的程序,用ListView控件显示文件夹的内容。我想像Windows资源管理器一样,右击显示快捷菜单,比如“删除”“重命名”“复制”命令。可是那个ListView我没找到哪个针对里面ListItem项目的右击事件。这个快捷菜单当然也可以弹出,可是是针对整个ListView控件的,就是不管有没有选中里面那个项弹出的菜单都一样,我作不到针对某个选择项的右击菜单事件,请问高手们这该怎么解决? 展开
 我来答
明桖瑶gr
2007-08-10 · TA获得超过1205个赞
知道小有建树答主
回答量:397
采纳率:100%
帮助的人:612万
展开全部
首先可以设置 ListView 的 ContextMenuStrip 属性为你的菜单,当然也可以直接通过代码弹出菜单。

在上下文菜单的 Opening 事件中判断,代码如下:
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
bool cancel;

// 获取鼠标坐标,并转换成 ListView 窗口的客户区坐标
Point point = listView1.PointToClient(Cursor.Position);
// 判断鼠标坐标处,是否有 ListViewItem
cancel = listView1.GetItemAt(point.X, point.Y) == null;
// 确定是否取消弹出上下文菜单
e.Cancel = popup;
}
MS_Frank
2007-08-10 · TA获得超过467个赞
知道小有建树答主
回答量:775
采纳率:0%
帮助的人:504万
展开全部
项 是没有事件的.
你想啊,如果每一个项都有一个事件系统资源得占用多大呀.如果你有一百个文件夹,就得有一百个项..那你还能写一百个事件不成??

所以说没有像你那样做的.都是在LISTVIEW上写事件,然后在事件中判断,判断用户选择的是哪个项.然后跟据选择的项不同动态增删除菜单项..

比如说你右击一个项不想让"删除"这个功能项显示出来,你就可以将它隐藏.就可以了.

时间关系没时间写代码,提供了一下思路,希望对你有所帮助.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
兴绮尉蔓菁
2019-04-03 · TA获得超过3470个赞
知道大有可为答主
回答量:2980
采纳率:26%
帮助的人:259万
展开全部
这个我做过,直接用listView.Add(xxxx)就行,xxxx是string类型的数据,你试试就知道了。
你这个应该就是这样的:
string
strtmp;
strtmp
=
r.ReadLine();
liseView.Add(strtmp);
循环就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
隗沛程安寒
2019-09-02 · TA获得超过3800个赞
知道大有可为答主
回答量:3071
采纳率:24%
帮助的人:196万
展开全部
举个例子:

string
a
=
"textAAA",
b
=
"textBBB",
c
=
"textCCC";

ListViewItem
lvi
=
new
ListViewItem(a);
//创建行对象

lvi.SubItems.AddRange(new
string[]
{
b,
c
});
//向当前项添加子项

listView1.Items.Add(lvi);
//向
ListView
中添加一个新项

如果需要填充多行,则可以将二、三、四句写在循环中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巨瑜仍妙梦
2019-08-26 · TA获得超过3784个赞
知道大有可为答主
回答量:3088
采纳率:26%
帮助的人:160万
展开全部
控件的属性啊,不过listview控件没有xxxx这个属性,只是示例!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式