---
title: "Flytta värden från en Listbox till en annan"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/81681-flytta-värden-från-en-listbox-till-en-annan"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "mattiasjarnhall"
published: "2003-07-09T13:52:34.000Z"
updated: "2003-07-09T15:09:45.000Z"
replies: 4
views: 372
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/81681-flytta-värden-från-en-listbox-till-en-annan"
---

# Flytta värden från en Listbox till en annan

## #1 — mattiasjarnhall, 2003-07-09T13:52Z

Alloha.. här igen..
Försöker mig på att köra följande kod:

    Private Sub Button2_ServerClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ServerClick
        If Not (dlAllTechnicans.SelectedItem Is Nothing) Then
            Dim ListItem As ListItem
            For Each ListItem In dlAllTechnicans.Items
                If ListItem.Selected = True Then
                    dlSelectedTechnicans.Items.Add(ListItem.Value.ToString)
                    dlAllTechnicans.Items.Remove(ListItem.Value.ToString)
                End If
            Next
        End If
    End Sub

Tanken är att jag flyttar de värden som är markerade i textbox1 till textbox2 och sen ta bort det markerade värdet i textbox1. Problemet är bara att jag får ett felmeddelande som lyder såhär:

Collection was modified; enumeration operation may not execute.

Hur skall jag lösa detta?

Permalänk: https://www.webforum.nu/p/81681

## #2 — renholm, 2003-07-09T14:14Z

Jag hade ett liknande problem förut (ca 1år sedan. på vb.net tiden :) ), här är den tråden: <http://www.webforum.nu/showthread.php?s=&threadid=45981>

Permalänk: https://www.webforum.nu/p/1106793

## #3 — Grynet, 2003-07-09T14:30Z

Renholm 

Förstod inte riktigt hur det löste sig på den tråden (snart semester ju  :r), men var det genom att lägga över alla värden att ta bort i en annan lista och sen ta bort dem ur den första listan?

Jag brukar alltid lösa såna här problem genom en for loop som loopar från count och ner till 0. Då kommer man inte att ta bort ett objekt som ligger före i listan och f\*a upp den.

Permalänk: https://www.webforum.nu/p/1106801

## #4 — renholm, 2003-07-09T14:45Z

Det jag ville visa med tråden var att man ska kunna sätt ett form av lås på den så att man kan ta bort medan man loopar igenom den, har för mig att det var så iaf =)

Ett förslag på lösning som jag kom på nu är att man skulle kunna skapa en ArrayList där man slänger in alla värden i som man skall tabort/flytta och sedan loopar man igenom ArrayListen så man kan tabort/flytta värdena.

Permalänk: https://www.webforum.nu/p/1106808

## #5 — PatrikB, 2003-07-09T15:09Z

Ett snabbt exempel, utan CB som funkar direkt som en .aspx-fil:

```
<%@ Page Language="VB" %>
<script runat="server">

    Public Sub Page_Load(Sender As Object, E As EventArgs)
        If (IsPostBack = False) Then
            Dim i As Integer
    
            '## -- populate left listbox --
            For i = 0 TO 9
                lboxLeft.Items.Add(New ListItem("Left " + i.ToString))
            Next i
    
            '## -- populate right listbox --
            For i = 0 TO 9
                lboxRight.Items.Add(New ListItem("Right " + i.ToString))
            Next i
        End If
    End Sub
    
    Sub btnMoveRight_Click(sender As Object, e As EventArgs)
        lboxRight.SelectedIndex = -1
        If (lboxLeft.SelectedIndex > -1) Then
            lboxRight.Items.Add(lboxLeft.Items(lboxLeft.SelectedIndex))
            lboxLeft.Items.Remove(lboxLeft.Items(lboxLeft.SelectedIndex))
        End If
        lboxLeft.SelectedIndex = -1
    End Sub
    
    Sub btnMoveLeft_Click(sender As Object, e As EventArgs)
        lboxLeft.SelectedIndex = -1
        If (lboxRight.SelectedIndex > -1) Then
            lboxLeft.Items.Add(lboxRight.Items(lboxRight.SelectedIndex))
            lboxRight.Items.Remove(lboxRight.Items(lboxRight.SelectedIndex))
        End If
        lboxRight.SelectedIndex = -1
    End Sub

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <table>
            <tbody>
                <tr>
                    <td>
                        <asp:ListBox id="lboxLeft" runat="server" Width="130px"></asp:ListBox>
                    </td>
                    <td>
                        <asp:Button id="btnMoveRight" onclick="btnMoveRight_Click" runat="server" Text=">>"></asp:Button>
                        <br />
                        <asp:Button id="btnMoveLeft" onclick="btnMoveLeft_Click" runat="server" Text="<<"></asp:Button>
                    </td>
                    <td>
                        <asp:ListBox id="lboxRight" runat="server" Width="130px"></asp:ListBox>
                    </td>
                </tr>
                <tr>
                    <td>
                    </td>
                    <td>
                    </td>
                    <td>
                    </td>
                </tr>
                <tr>
                    <td>
                    </td>
                    <td>
                    </td>
                    <td>
                    </td>
                </tr>
            </tbody>
        </table>
        <!-- Insert content here -->
    </form>
</body>
</html>
```

cya,
/PatrikB

Permalänk: https://www.webforum.nu/p/1106814

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/81681-flytta-värden-från-en-listbox-till-en-annan
