0

このコードを使用して、選択範囲を listbox1 から listbox2 に移動しようとしています

if (listBox1.SelectedItems.Count > 0)
        {
            int selectedindex = listBox1.SelectedIndex;
            for (int i =0 ; i < listBox1 .SelectedItems.Count; i++)
            {
                listBox2.SetSelected(selectedindex , true);
            }
        }

結果が得られましたが、listbox1 で複数の項目を選択すると、listbox1 で最初に選択した項目である listbox2 で 1 つの項目のみが選択されます。

4

2 に答える 2

0

複数選択できるようにするには、 SelectionModeプロパティを設定する必要があります。プロパティ ウィンドウまたはロード イベントで設定できます。

listBox2.SelectionMode.MultiExtended = SelectionMode.MultiExtended;
于 2012-11-28T16:16:19.893 に答える
0

の選択インデックスを 1 つだけ保存listbox1していselectedIndexます。ループの後半ではlistbox2、選択をこの 1 つのインデックスに設定するように常に指示しています。

代わりにこれを試してください:

foreach (int index in listBox1.SelectedIndices)
{
    listBox2.SetSelected(index, true);
}
于 2012-11-28T16:49:17.453 に答える