在Visual Studio中向上移动,向下移动ListBox的按钮

时间:2013-04-01 18:10:59

标签: c# button visual-studio-2012 selected

我正在尝试制作一个上移按钮和一个下移按钮,以移动Microsoft Visual Studio 2012中ListBox中的选定项目。我在WDF,jquery,winforms和其他一些表单中看到过其他示例但是我还没有看过Microsoft Visual Studio的示例。

我尝试过这样的事情:

        listBox1.AddItem(listBox1.Text, listBox1.ListIndex - 1);

但Microsoft Visual Studio在其ListBox中没有“AddItem”属性。

有关更多信息,我有两个列表框,我想让我的上下移动按钮工作; SelectedPlayersListBox和AvailablePlayersListBox。有人会非常友好地向我提供Microsoft Visual Studio中“上移”和“下移”按钮的示例吗?谢谢。

2 个答案:

答案 0 :(得分:11)

无讽刺的答案。享受

private void btnUp_Click(object sender, EventArgs e)
{
    MoveUp(ListBox1);
}

private void btnDown_Click(object sender, EventArgs e)
{
    MoveDown(ListBox1);
}

void MoveUp(ListBox myListBox)
{
    int selectedIndex = myListBox.SelectedIndex;
    if (selectedIndex > 0)
    {
        myListBox.Items.Insert(selectedIndex - 1, myListBox.Items[selectedIndex]);
        myListBox.Items.RemoveAt(selectedIndex + 1);
        myListBox.SelectedIndex = selectedIndex - 1;
    }
}

void MoveDown(ListBox myListBox)
{
    int selectedIndex = myListBox.SelectedIndex;
    if (selectedIndex < myListBox.Items.Count - 1 & selectedIndex != -1)
    {
        myListBox.Items.Insert(selectedIndex + 2, myListBox.Items[selectedIndex]);
        myListBox.Items.RemoveAt(selectedIndex);
        myListBox.SelectedIndex = selectedIndex + 1;

    }
}

答案 1 :(得分:2)

您正在寻找ListBox.Items.Add()

对于升迁,这样的事情应该有效:

void MoveUp()
{
    if (listBox1.SelectedItem == null)
        return;

    var idx = listBox1.SelectedIndex;
    var elem = listBox1.SelectedItem;
    listBox1.Items.RemoveAt(idx);
    listBox1.Items.Insert(idx - 1, elem);
}

向下移动,只需将idx - 1更改为idx + 1