2016-08-15 28 views
0

に移動するリストボックス内のディレクトリからファイル名を追加していきます。リストボックスにファイルを配置するには、特定の項目を選択して&それを上下に動かす。リストボックスの項目をC#

以下の機能は、ファイルを上に移動しようとしています。リストボックスアイテム全体をオブジェクトにコピーしようとしています。リストボックス を別のオブジェクトにコピーしました。

ボタンを押すと、選択したアイテムがリストの上のアイテムと交換されます。

は、私は以下のコードが動作しない新しいリストを変更しようとすると、私は戻って、リストボックス

にオブジェクトからアイテムをコピーする方法を知らないよ元listbox.Butに戻ってアイテムをコピー

private void plus_Click(object sender, EventArgs e) 
    { 


     object[] items = new object[listBox1.Items.Count]; 

     listBox1.Items.CopyTo(items, 0); 

     object[] selecteditems = new object[listBox1.SelectedItems.Count]; 

     listBox1.SelectedItems.CopyTo(selecteditems, 0); 

     object[] selectedindices = new object[listBox1.SelectedItems.Count]; 

     listBox1.SelectedIndices.CopyTo(selectedindices, 0); 



     // listBox1.Items.CopyTo(items, 0); 

     int upper_index = listBox1.Items.Count - 1; 

     for (int i = 0; i < listBox1.Items.Count;i++) 
     { 
      if ((i == (int)selectedindices[i])&&(i!=0)) 
      { 
        object temp = items[i]; 
        items[i] = items[i - 1]; 
        items[i - 1] = temp; 
      } 
     } 








    } 

答えて

0

新しいリストを作成していて、ListBoxの実際のDataSourceを変更していないため、一見すると機能しません。 DataSource内のアイテムを移動する必要があるか、別のリストですべての操作を実行し、最後にDataSourceを再度設定する必要があります。

+0

私は新しいリストを変更して元のリストボックスにアイテムをコピーするつもりです。しかし、オブジェクトからアイテムをリストボックスにコピーする方法はわかりません –

+0

@SudarshanTaparia循環シフトを行いますか?例えば最初の項目を選択して「上へ」をクリックした場合。何が起こると思いますか? – user3185569

+0

選択したアイテムを上に移動し、上のアイテムを上に移動したい –

関連する問題