private void DeselectButtonClick(object sender, EventArgs e)
 {
     object[] os = new object[selectedListBox.SelectedItems.Count];
     selectedListBox.SelectedItems.CopyTo(os, 0);
     foreach (object o in os)
     {
         selectedListBox.Items.Remove(o);
     }
     foreach (object o in os)
     {
         MultiListSelector.AllListBox.Items.Add(o);
     }
     MultiListSelector.SelectionHasChanged(this, e);
 }
 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
 {
     switch (keyData)
     {
     case Keys.Control | Keys.A:
         Control c = GetChildAtPoint(Cursor.Position);
         if (c != null)
         {
             if (c.Equals(selectedListBox))
             {
                 MultiListSelector.SelectAll(selectedListBox);
             }
         }
         Invalidate(true);
         break;
     }
     return(base.ProcessCmdKey(ref msg, keyData));
 }