从windows应用程序中的列表框中读取所有项目

时间:2011-09-04 22:25:27

标签: c# winforms

我在Windows窗口c#中有两个列表框,第一个列表框中包含所有有效的房间&第二个房间保留了当前客房,&用户可以通过此listboxex之间的传输来更改此数据。

例如:

list1:1d,5d,6d,1r,12r

list2:2d,4d

用户可以删除2d而不是6d。

我需要什么如何在用户更新后读取list2中的所有数据,&用它来更新我在sql server中的表。

3 个答案:

答案 0 :(得分:2)

要将所选项目从一个列表框复制到另一个列表框,您可以使用以下代码。确保列表框的SelectionMode为Single。这段代码读取所选项目,将其添加到另一个ListBox并从当前ListBox中删除它。您无需将其强制转换为字符串,因为没有理由读取实际数据。这也允许您将复杂对象作为listBoxItems。

object obj = listBox1.SelectedItem;
listBox2.Items.Add(obj);
listBox1.Items.Remove(obj);

如果您将此链接指向左/右按钮,则可以确保用户无法复制房间或添加超出范围的房间号。

答案 1 :(得分:1)

尝试以下代码:

string TimeslotItems = "";
foreach (ListItem item in listBox2.Items)
{
    TimeslotItems += item.ToString() + ","; // /n to print each item on new line or you omit /n to print text on same line
}

答案 2 :(得分:0)

ListBox上没有'item added'事件。当您使用BindingList作为数据源时,您可以将事件注册到BindingList本身并对其进行响应。如果您想在列表本身上添加项目,请查看Item added events question for ListBox

迭代列表项:

        foreach (string s in listBox1.Items)
        {
            string name = s;
        }

关于数据库传输,您想以什么方式进行?使用实体框架?直接SQL执行?