我有一个列表框,我想在其中复制和粘贴项目。
复制和粘贴效果很好,但是每次我按“ 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;
            }
    }

最佳答案

您是否尝试设置SuppressKeyPress对象的KeyEventArgs属性?

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

关于c# - 按键时如何禁用列表框自动选择项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2580946/

10-10 19:20