ListBox控件的新增项目自动添加在最后,如果添加的项目足够多了,就会看不到新增加的项目,即使有垂直滚动条也需要手动拉一下才能看到新增的项目。
怎么样才能让ListBox控件自动滚动,让新增加的Item始终能看到?

解决方案 »

  1.   

    你添加后写条ListBox1.SelectedValue = "最后添加的值";不就行了
      

  2.   

    listView1.Items[(listView1.Items.Count) - 1].EnsureVisible();
      

  3.   

    调用item项的EnsureVisible()方法即可
      

  4.   

    try..this.listBox1.Items.Add("aaaaa");
                this.listBox1.SelectedIndex = this.listBox1.Items.Count - 1;
      

  5.   

    说了半天了你说的是webform还是winform阿?
      

  6.   

    设置最后一行(新增一行)为选中状态即可..this.listBox1.SelectedIndex = this.listBox1.Items.Count - 1;
      

  7.   

    ListBox是没有EnsureVisible方法的.可以用TopIndex来设置第一个可见的项,如:this.listBox1.TopIndex = this.listBox1.Items.Count - 1;
      

  8.   

    .NET Framework 类库  
    ListBox.TopIndex 属性  
    获取或设置 ListBox 中第一个可见项的索引。属性值
    控件中第一个可见项的从零开始的索引。 
    备注
    最初,具有索引位置零 (0) 的项位于 ListBox 的可见区域的顶部。如果 ListBox 的内容已经滚动,则其他项可能位于控件显示区域的顶部。可以使用此属性获取索引,该索引是当前位于该控件可见区域顶部的项的 ListBox 的 ListBox.ObjectCollection 内的索引。还可使用此属性将列表中的某项放置于控件可见区域的顶部。
      

  9.   

    this.listBox1.TopIndex = this.listBox1.Items.Count - 1;
    这句不好使吗?
    人都哪里去了,唉...
      

  10.   

    是Windows Form的ListBox
    ListBox里没有EnsureVisible,ListView里才有。
    TopIndex和SelectedIndex都可以做到,但在这个功能上似乎SelectedIndex更好。
    有SelectedValue这个属性,但是好像不起作用。感谢各位参与!
      

  11.   

    楼上的:TopIndex

    SelectedIndex
    是不一样的一个是不用选中就可以滚动到指定索引显示,一个是选中的索引,选中的不一定是可见的.
      

  12.   

    hbxtlhx(平民百姓) :对,你说的没错!经验证SelectedValue在Web form程序里可以起作用,在win form里无效。
      

  13.   

    JavaK() :ListBox的滚动条的值怎么设?
      

  14.   

    不可能方便的设置滚动条伯值!
    不明白楼主为什么不用TopIndex呢?
    是没有这个属性?
      

  15.   

    this.listBox1.SelectedIndex = this.listBox1.Items.Count - 1;
    .NET Framework 类库  
    ListBox.TopIndex 属性  
    获取或设置 ListBox 中第一个可见项的索引。属性值
    控件中第一个可见项的从零开始的索引。 
    备注
    最初,具有索引位置零 (0) 的项位于 ListBox 的可见区域的顶部。如果 ListBox 的内容已经滚动,则其他项可能位于控件显示区域的顶部。可以使用此属性获取索引,该索引是当前位于该控件可见区域顶部的项的 ListBox 的 ListBox.ObjectCollection 内的索引。还可使用此属性将列表中的某项放置于控件可见区域的顶部。