Try something like this:
private static void moveCheckedItems(CheckedListBox srce, CheckedListBox dest) { for (int ix = 0; ix < dest.Items.Count; ++ix) dest.SetItemChecked(ix, false); for (int ix = 0; ix < srce.Items.Count; ) { if (!srce.GetItemChecked(ix)) ++ix; else { object item = srce.Items[ix]; srce.Items.RemoveAt(ix); dest.Items.Add(item); dest.SetItemChecked(dest.Items.Count - 1, true); } } }
private void btnMoveRight_Click(object sender, EventArgs e) { moveCheckedItems(checkedListBox1, checkedListBox2); } private void btnMoveLeft_Click(object sender, EventArgs e) { moveCheckedItems(checkedListBox2, checkedListBox1); }
|