我做了一个资源管理器,我每次双击一个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;
}
}
{
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;
}
}
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事件,为什么会这样的?请高手指点,谢谢