按键时如何禁用列表框自动选择项

时间:2010-04-05 20:21:54

标签: c# .net

我有一个列表框,我想在该列表框中复制和粘贴项目。 复制和粘贴工作正常,但每次按“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;
            }
    }

1 个答案:

答案 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;
}