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

3
我有一个列表框,想在其中复制和粘贴项目。 复制和粘贴功能正常,但每次按下“Ctrl + 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个回答

8
你是否尝试设置 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;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接