2012-11-12 8 views
8

में चयनित आइटम को एक सूची बॉक्स से दूसरे में ले जाएं I सूची बॉक्स 1 में चयनित आइटम को बॉक्स 2 में सूचीबद्ध करने की कोशिश कर रहा हूं, और इसके विपरीत। मेरे पास दो बटन हैं, >> और <<। जब मैं सूचीबॉक्स 1 में आइटम का चयन करता हूं और फिर >> पर क्लिक करता हूं तो आइटम सूचीबॉक्स 1 से सूचीबॉक्स 2 में स्थानांतरित होना चाहिए।सी # Winform

private void MoveListBoxItems(ListBox source, ListBox destination) 
{ 
    ListBox.SelectedObjectCollection sourceItems = source.SelectedItems; 
    foreach (var item in sourceItems) 
    { 
     destination.Items.Add(item); 
    } 
    while (source.SelectedItems.Count > 0) 
    { 
     source.Items.Remove(source.SelectedItems[0]); 
    } 
} 

private void button2_Click_1(object sender, EventArgs e) 
{ 
    MoveListBoxItems(listbox , lstActivity); 
} 
+0

ठीक है ... मैंने अपना कोड – user1770370

+0

रखा है समस्या क्या है? –

+0

आपका कोड सत्य है। –

उत्तर

10

साथ जा सकते हैं अपने कोड ठीक काम करता है। मैंने इसका परीक्षण किया। आपका प्रश्न है "मैं को आइटम बॉक्स 2 में सूची बॉक्स 1 में स्थानांतरित करने का प्रयास करता हूं।"

मैं अपने Button2 problem.delete Button2 और

private void button2_Click_1(object sender, EventArgs e) 
{ 
    MoveListBoxItems(listbox , lstActivity); 
} 

नीचे कोड तो अन्य बटन बना सकते हैं और क्लिक करें घटना बनाने है लगता है।

पूर्ण स्रोत:

private void MoveListBoxItems(ListBox source, ListBox destination) 
{ 
    ListBox.SelectedObjectCollection sourceItems = source.SelectedItems; 
    foreach (var item in sourceItems) 
    { 
     destination.Items.Add(item); 
    } 
    while (source.SelectedItems.Count > 0) 
    { 
     source.Items.Remove(source.SelectedItems[0]); 
    } 
} 

private void first2second_Click(object sender, EventArgs e) 
{ 
    MoveListBoxItems(FirstListbox, LastListbox); 
} 

private void second2first_Click(object sender, EventArgs e) 
{ 
    MoveListBoxItems(LastListbox, FirstListbox); 
} 

इस कोड का काम है। यदि आप एक से अधिक आइटम परिवर्तन संपत्ति का चयन करना चाहते हैं चयन मोड = मल्टीसिंपल;

+0

कोई त्रुटि है: अतिरिक्त जानकारी: ऑपरेशन आइटम्ससोर्स का उपयोग करने के दौरान मान्य नहीं है। इसके बजाय आइटम्स कंट्रोल.इटमससोर्स के साथ तत्वों को एक्सेस और संशोधित करें। –

2
private void buttonMoveToListBox1_Click(object sender, EventArgs e) 
{ 
    if(listBox1.SelectedIndex != -1) 
    { 
     listBox2.Items.Add(listBox1.SelectedValue); 
     listBox1.Items.Remove(listBox1.SelectedValue); 
    } 
} 

private void buttonMoveToListBox2_Click(object sender, EventArgs e) 
{ 
    if(listBox2.SelectedIndex != -1) 
    { 
     listBox1.Items.Add(listBox2.SelectedValue); 
     listBox2.Items.Remove(listBox2.SelectedValue); 
    } 
} 
+0

ListBox में जोड़ने के लिए परिभाषा नहीं है! – user1770370

+0

listbox.Items.Add यह सिर्फ एक टाइपो – nawfal

+0

अपवाद दें !!! :("पंक्ति में शून्य नहीं हो सकती है" लिखा है: listbox.items.add (listbox.selectValue); – user1770370

0

हर नष्ट कर दिया पंक्ति के लिए संघर्ष किया जाएगा, तो नीचे दिए गए कोड के साथ जाना:

>>

 for (int intCount = ListBox1.SelectedItems.Count - 1; intCount >= 0; intCount--) 
    { 
     ListBox2.Items.Add(ListBox1.SelectedItems[intCount]); 
     ListBox1.Items.Remove(ListBox1.SelectedItems[intCount]); 
    } 

< <

 for (int intCount = ListBox2.SelectedItems.Count - 1; intCount >= 0; intCount--) 
    { 
     ListBox1.Items.Add(ListBox2.SelectedItems[intCount]); 
     ListBox2.Items.Remove(ListBox2.SelectedItems[intCount]); 
    }  

ऊपर एक तो काम नहीं करता है इस प्रयास करें:

while (ListBox1.SelectedItems.Count > 0) 
{ 
    ListBox2.Items.Add(ListBox1.SelectedItems[0].Text); 
    ListBox1.SelectedItems[0].Remove(); 
} 

के लिए जवाब में से अधिक प्रकार आप इस link

+0

ऊपर से नीचे बेहतर है। । – nawfal

+0

@nawfal वास्तव में मुझे यह बेहतर पसंद है क्योंकि यह कुछ समझ में आता है (मुझे कम से कम) जैसा कि मैंने प्रदान किया है जैसा मैंने समझाया है :) –

+0

ListBox.Item.Remove में अपवाद दें !!! यह है: "सूचकांक बाहर था सरणी की सीमाएं। – user1770370

-2
<script type="text/javascript"> 
     $(document).ready(function() { 
      // > arrow 
      $('#SingleRightMove').click(function() {      
        $('#fromBox option:selected').remove().appendTo('#toBox'); 
        //$("#tobox option").attr("selected", false);   
        $('#toBox').find("option").attr("selected", false); 

      }); 
      // < arrow 
      $('#SingleLeftMove').click(function() { 
       $('#toBox option:selected').remove().appendTo('#fromBox'); 
       $("#fromBox option").attr("selected", false); 
      }); 
      // >> arrow 
      $('#AllRightMove').click(function() {    
       $('#fromBox option').remove().appendTo('#toBox'); 
       $("#toBox option").attr("selected", false); 
      }); 
      // << arrow 
      $('#AllLeftMove').click(function() {   
       $('#toBox option').remove().appendTo('#fromBox'); 
       $("#fromBox option").attr("selected", false); 
      }); 




     }); 



    </script> 
+1

उम्म्म ... यह निश्चित रूप से यहां पूछे गए प्रश्न का उत्तर नहीं है। प्रश्न सी #/विनफॉर्म के बारे में है। –

-2

प्राप्त करें >> और < < बटन 2 सूची और नीचे 3 listbox2 की तरह बॉक्स के साथ बनाया ... की तरह कुछ से पहले सूची बॉक्स 2 में उर आइटम प्राप्त मिल-सामग्री या मिल-adcomputer आदि ..

$buttonMOVERight_Click={ 
    foreach ($Srv in $listbox2.selectedItems) 
     {$selectedServers=$Srv} 
    $listbox3.BeginUpdate() 
    foreach($TSrv in $Srv) 
     {$listbox3.Items.Add($TSrv); 
     $listbox2.Items.Remove($TSrv);}       
    $listbox3.EndUpdate() 
} 

$buttonMoveLeft_Click={ 
     #TODO: Place custom script here 
     foreach ($Srvs in $listbox3.selectedItems) 
     {$ServersinRt=$Srvs} 
    $listbox2.BeginUpdate() 
    foreach($rSRv in $Srvs) 
     {$listbox2.Items.Add($rSRv); 
     $listbox3.Items.Remove($Srvs);} 
     $listbox2.EndUpdate() 
} 
+1

यह उत्तर Winforms के लिए नहीं है। – Chris