2016-08-15 119 views
0

我從一個目錄列表框中對此我能夠加入successfully.I那麼應該能夠安排在列表框中的文件通過選擇特定項目&然後添加文件名向上或向下移動它。移動項目在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

我打算更換新的列表,複製的項目回原來的listbox.But我不知道如何從對象的項目複製回列表框中你想要一個循環移位 –

+0

@SudarshanTaparia做什麼?例如如果使用選擇了第一個項目並點擊了'Up'。你期望發生什麼? – user3185569

+0

我希望選定的項目向上移動,並且上面的項目向下移動 –