请高手指点,listview事件问题

markjo2011 2012-05-04 03:00:14
我做了一个资源管理器,我每次双击一个listviewitem都会执行keydown事件中copy()代码,为什么这样呢?

private void listView2_KeyDown(object sender, KeyEventArgs e)
{

if (e.Control && e.KeyCode == Keys.A)
{
foreach (ListViewItem lvi in listView2.Items)
{
lvi.Selected = true;
}
}
else if (e.Control && e.KeyCode == Keys.C)
{
Copy();
}
else if (e.Control && e.KeyCode == Keys.X)
{
Cut();
}
else if (e.Control && e.KeyCode == Keys.V)
{
Paste();
}
else if (e.KeyCode == Keys.Delete)
{
Delete();
}

else if (e.KeyCode == Keys.Delete)
{
Delete();
}
else
{
return;
}

}
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
markjo2011 2012-05-07
  • 打赏
  • 举报
回复
我做了另一个例子
namespace listviewddd
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
listView1.GridLines = true;
listView1.Columns[0].Width = this.Size.Width;
foreach (string file in Directory.GetFiles(@"D:\Files"))
{
listView1.Items.Add(file);
}
}

private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
return;
}
ListViewItem lv = listView1.GetItemAt(e.X,e.Y);
if (lv != null)
{
Process.Start(lv.Text);
}
}

private void listView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.C)
{
MessageBox.Show("Copy");
}
}

}
}

我在listview双击打开一个文件时,同时也会产生一个keydown事件,为什么会这样的?

请高手指点,谢谢

jacie0617 2012-05-04
  • 打赏
  • 举报
回复
貌似你的双击事件里做了些处理啊。中断进去看看。另)是不是你的剪切板里本来就已经有数据了而导致这种虚像。
markjo2011 2012-05-04
  • 打赏
  • 举报
回复
> Resource Manager.exe!DownloadFile.DownloadFrom.listView2_KeyDown(object sender = {System.Windows.Forms.ListView, Items.Count: 29, Items[0]: ListViewItem: {C#}}, System.Windows.Forms.KeyEventArgs e = {KeyData = 131139}) 行 1160 C#

以上的是堆栈调用的提示,应该怎么看,谢谢!
markjo2011 2012-05-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
你双击时干了什么呢,断点,看看堆栈调用,从哪进入的keydown
[/Quote]

双击就是打开文件夹或文件啊
熙风 2012-05-04
  • 打赏
  • 举报
回复
像这样的代码调试下就知道了
bdmh 2012-05-04
  • 打赏
  • 举报
回复
你双击时干了什么呢,断点,看看堆栈调用,从哪进入的keydown

111,126

社区成员

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

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

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