如何使用c#将一个或多个值从一个列表框移动到另一个列表框

时间:2017-01-10 08:18:25

标签: c# visual-studio

listBox2.Items.Add(listBox1.SelectedItem);
listBox1.Items.Remove(listBox1.SelectedItem);

此代码运行但我应该选择一个项目。我想知道如何在没有选择的情况下传递值

2 个答案:

答案 0 :(得分:4)

如果您没有选定的项目但只有索引可以使用RemoveAt,如果您想将其添加到其他列表,则无论如何都需要该对象,以便您可以使用indexer

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingRight="8dp"
    android:paddingLeft="8dp">

<TextView
    android:text="Text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/title"
    android:textColor="#C1C7C9"
    android:textSize="15sp"
    android:textStyle="bold"
    android:lines="1"
    android:maxLines="1" />
<TextView
    android:text="Text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/titleselected"
    android:textStyle="bold"
    android:textSize="15sp"
    android:textColor="@android:color/black"
    android:lines="1"
    android:maxLines="1" />
<Button
    android:id="@+id/btnClick"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Click Me"
    android:layout_marginTop="50sp" />
</RelativeLayout>

如果要添加所有项目,请使用循环:

object item = listBox1.Items[index];
listBox2.Items.Add(item);
listBox1.Items.RemoveAt(index);

答案 1 :(得分:0)

以下是一个例子:

var i = 0;// let i as the index which you want it to be moved.
var targetItem = listBox1.Items[i];
listBox2.Items.Add(targetItem);
listBox1.Items.RemoveAt(i);