如何使ListBox控件显示垂直而不是水平添加项目?

时间:2017-02-27 22:37:20

标签: c# asp.net webforms listbox controls

我的代码将一个项添加到ListBox:

Item anItem;

protected void btnAddItem_Click(object sender, EventArgs e)
{
    List theList = List.GetList();

    if (theList != null)
    {
        thelist.AddItem(anItem);
        Response.Redirect("anotherWebForm.aspx");
    }
 }

现在,我的问题是每当我向列表框添加多个项目并按如下方式显示该列表框时:

 private void displayList()
 {
      string itemInfo = "";

      for (int x=0; x < anItem.TheList.Count; x++) // this line is working fine.
      {
          itemInfo = itemInfo + anItem.TheList[x].itemName + .... // this line is working fine.
      }

      lbList.Items.Add(itemInfo); //This line adds the next selected item right beside the previous item in a horizontal manner.  I want to display it in a vertical way.
  }

lbList.Items.Add(itemInfo);在前一个项目旁边添加下一个项目并且不会创建新行。我想让它显示在一个新行中,而不是水平,如下所示:

 Item listbox:
 - item1
 - item2 
 - item3

但我得到的是这个:

 Item listbox:
 - item1- item2- item3

我尝试将lbList.Item.Add(itemInfo)放在For循环中,但它所做的就是产生以下内容:

  Item listbox:
  - item1
  - item1- item2
  - item1- item2- item3

2 个答案:

答案 0 :(得分:0)

试试这个。

private void displayList()

{       for(int x = 0; x&lt; anItem.List.Count; x ++)

{

string itemInfo = anItem.TheList [x] .itemName

lbList.Items.Add(itemInfo);

}

}

答案 1 :(得分:0)

在Form_Load中,只需输入以下代码即可。 uxTablesListBox是列表框名称。但是在bindingfunction中,您需要绑定包含“TableName”列的数据表。

这样,您的列表框项目将垂直显示。

    uxTablesListBox.View = View.Details
    uxTablesListBox.GridLines = False
    uxTablesListBox.FullRowSelect = True
    uxTablesListBox.HideSelection = False
    uxTablesListBox.MultiSelect = False
    uxTablesListBox.Columns.Add("TableName", 259)