使用listbox显示时,有时listbox的宽度不够,显示文本不全,怎么能当显示文本超过listbox的宽度时自动下一行显示啊?还有个问题是 调用textBox1_TextChanged 时,显示输入文本,但是每次没完全输入就显示文本了,
要输入 你好我是一条狗  显示为

你好
你好我
你好我是
你好我是一
你好我是一条
你好我是一条狗这个怎么解决?

解决方案 »

  1.   

    LISTBOX不支持一条记录占多行,但是可以把一条很长的记录用截取的方法截取,然后获取截了多少个,最后用for循环,listbox.add()方法一行行加入就行了。 
    例如:有一个25个字符的数据,LISTBOX(大小可调)一行能写15个字符,你第一行截0到15,第二行16到25,截了两次,存在一个数组里面,然后用循环加就是了,具体的算法自己来吧,加油了~~~不过我建议你用textbox吧,只要在产生记录的时候加上“/r/n”就能实现换行。
      

  2.   

    Quote: 引用 楼主 u010782328 的回复:

    使用listbox显示时,有时listbox的宽度不够,显示文本不全,怎么能当显示文本超过listbox的宽度时自动下一行显示啊?或者加个横的滚动条也行
      

  3.   

    不占多行的话 加个横滚动条也行 listbox能实现吗
      

  4.   

    关于截取 和 自适应宽度 可以参考如下:
    listbox换行问题C#让ListBox适应最大Item的宽度
      

  5.   

    你的listBox是winform 还是web的,
    如果是winform的话,在winform中listbox本身有一个属性HorizontalScrollbar你直接在设计是赋值为true  或者在后台赋值也行  当内容超出宽度是自动显示滚动条
      

  6.   

            <asp:ListBox ID="ListBox1" runat="server" Width="100px">
                <asp:ListItem>你</asp:ListItem>
                <asp:ListItem>你是</asp:ListItem>
                <asp:ListItem>你是一</asp:ListItem>
                <asp:ListItem>你是一条</asp:ListItem>
                <asp:ListItem>你是一条狗</asp:ListItem>
                <asp:ListItem title="你是一条哈巴狗" >你是一条哈巴狗</asp:ListItem>
            </asp:ListBox>这个另外一个方法,可以给listItem 增加title属性
    效果如下:增加发方法用js去实现大概是:    function demo() {
                var tds = document.getElementsByTagName("option");
                for (var i = 0; i < tds.length; i++) {
                    //这里用 setAttribute 方法去 设置 title的值
                }
            }
      

  7.   

    你可以设置属性:view为List,他会自动调整的。