2010-04-05 8 views
2

J'ai une zone de liste dans laquelle je veux copier et coller des éléments dans cette liste. Copier et coller fonctionne très bien mais chaque fois que j'appuie sur "Crtl + C" l'élément commençant par la lettre C est automatiquement sélectionné. cette sélection automatique peut être désactivée ou suis-je manque quelque chose iciComment désactiver l'élément de sélection automatique de la liste en appuyant sur la touche

Voici la méthode de copier et coller I mis en œuvre:

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

Répondre

6

Avez-vous essayé de définir la propriété SuppressKeyPress de l'objet 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; 
} 
+0

Oui J'ai essayé mais cela ne semble pas aider. – tomfox66

+0

Ahhhh, "e.SuppressKeyPress = true;" a fait l'affaire Thanx – tomfox66

Questions connexes