Как отключить автоматический выбор списка при нажатии клавиши - PullRequest
2 голосов
/ 06 апреля 2010

У меня есть список, куда я хочу скопировать и вставить элементы в этом списке. Копирование и вставка работает нормально, но каждый раз, когда я нажимаю "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 Ответ

7 голосов
/ 06 апреля 2010

Вы пытались установить свойство 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...