以下のコードは、リストボックス内の選択されたアイテムをリストボックス内の次のアイテムに移動しますが、チェックされている場合は、選択されたアイテムのチェックを外します。どうすればこれを防ぐことができますか?
private void buttonMoveDown_Click(object sender, EventArgs e)
{
int iIndex = checkedListBox1.SelectedIndex;
if (iIndex == -1)
{
return;
}
moveListboxItem(checkedListBox1, iIndex, iIndex + 1);
}
ありがとう
moveListboxItemのコードは次のとおりです。
private void moveListboxItem(CheckedListBox ctl, int fromIndex,int toIndex)
{
if(fromIndex == toIndex)
{
return;
}
if(fromIndex < 0 )
{
fromIndex = ctl.SelectedIndex;
}
if(toIndex < 0 || toIndex > ctl.Items.Count - 1)
{
return;
}
object data = ctl.Items[fromIndex];
ctl.Items.RemoveAt(fromIndex);
ctl.Items.Insert(toIndex, data);
ctl.SelectedIndex = toIndex;
}