我有一个列表框,我想在该列表框中复制和粘贴项目。 复制和粘贴工作正常,但每次按“Crtl + C”时,将自动选择以字母C开头的项目。 可以禁用此自动选择,还是我在这里遗漏了一些东西
以下是我实施的复制和粘贴方法:
private void listBox_Script_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control == true && e.KeyCode == Keys.C)
{
int test = listBox_Script.SelectedIndex;
Clipboard.SetDataObject(listBox_Script.Items[listBox_Script.SelectedIndex], true);
return;
}
if (e.Control == true && e.KeyCode == Keys.V)
{
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
listBox_Script.Items.Insert(listBox_Script.SelectedIndex + 1, Clipboard.GetDataObject().GetData(DataFormats.Text).ToString());
return;
}
}
答案 0 :(得分:7)
您是否尝试设置KeyEventArgs
对象的SuppressKeyPress
属性?
if (e.Control == true && e.KeyCode == Keys.C)
{
int test = listBox_Script.SelectedIndex;
Clipboard.SetDataObject(listBox_Script.Items[listBox_Script.SelectedIndex], true);
e.SuppressKeyPress = true;
return;
}