只有添加足够的行才能启用垂直滚动条,才会显示ClistBox(ClistBox doesn't display until enough lines are added to enable the vertical scroll bar)

   IT问题网   2021-02-18 00:00:00

问 题

我有一个应用程序可以在列表框中添加行,以便用户可以看到发生的情况。但是,该框"消失",只显示水平滚动条,直到添加了足够的行,以便启用垂直滚动条。那时所有添加的行都会显示出来。我已经尝试设置顶部索引,看看是否会让事情发生变化,它确实有所帮助。实际上,它是顶级索引的设置,可以显示任何内容。在此之前,显示区域将"消失",直到添加了所有行,然后它们都将被显示。此外,settopindex似乎不起作用。例如,如果我将顶部索引设置为8,我希望我添加的第九个字符串是框中第一个显示的行。但是,我设置的索引和显示的行之间似乎没有任何关系。相反,盒子仍然是满的。这是可以接受的,因为用户能够看到添加的最新行,但它肯定不是我要求的。



如果"disablenoscroll"设置为是的,然后盒子不会"消失"。它只是空位,直到盒子比它可以容纳一行更多,然后垂直滚动条与所有等待显示的行一起出现。

解决方案

在windows中重绘是低优先级...因此,如果你在紧密循环中添加很多项目,你将得到一个像你一样的结果。



出现滚动条时出现redrawind的原因与列表区域大小更改的事实有关。我几乎可以肯定,如果总是显示滚动条,它会产生类似于没有滚动条的效果。



如果你有很大的列表,你是如果可能的话,更好地使用控件的虚拟模式。



否则,你总是可以强制更新列表框,你可以mofify你的代码来处理windows消息或使用多线程使得ui线程不是百分之百忙碌的时间。



最佳解决方案取决于大量的项目,如果你想要自动滚动或没有和列表填写的速度。



通常你必须在加载速度和用户界面的响应能力之间找到折衷方案。



如果你一次添加很多项目(禁用更新),然后刷新所有内容......例如每一秒钟。

检查另一个(类似)问题的答案。如果你没有为ui和生成文本的东西使用单独的线程,这可能会有所帮助。



更新列表框visual c ++[ ^ ]

标签:只有添加足够才能启用垂直滚动转动显示



分享:

  • 微信
  • QQ好友
  • QQ空间
  • 新浪微博


热门推荐

DateTime数据类型的算术运算。(Arithmetic Operations on DateTime Datatype.)

problem hi, i have been trying to find a way to do arit ...

将图像插入Word(Insert Image to Word)

problem how to compress inserted image in word using dsof ...

我如何缩进给定的XML(how can i indent a given XML)

problem is there any easiest way to indent given xml i ...

我想将Outlook消息保存到sql server db(i want to save outlook messages to sql server db)

problem hi could you please help me on saving outlook m ...

我如何在cookie中保存令牌(how I can save the token in the cookie)

problem hi, i am creating the web service au ...

C#.net中的ModalPopupExtender(ModalPopupExtender in C#.net)

problem while i am clicking the modal popup extender wind ...

需要帮助来更改密码表格(need help to change password form)

problem hi everyone, i am still newbie in vb. ...

CMap或CMapPtrToPtr(CMap or CMapPtrToPtr)

problem hi, i want store the objects in cmap ...

如何创建新的任务栏(how to create new task bar)

problem hi, i want to create new taskbar,can any one hel ...

在C#.net中旋转PDF文件(Rotate PDF File in C#.net)

problem hi , how to rotate pdf file in c#.net ...

在C#.Net中旋转图像文件(Rotate Image Files in C#.Net)

problem hi, how to rotate image files(jpeg,ti ...

如何交换字符串中的字符(how to swap characters in a string)

problem hi all. i''m new in .net and i want t ...

如何在SHAREPOINT 2010中集成twitter(How to integrate twitter in SHAREPOINT 2010)

problem hi to all, this is siddiqali working ...

检查应用程序是否正在运行(Check If Application Is Running)

problem is there a way to run a loop that wou ...

如何使用radiobuttonlist?(how to use radiobuttonlist)

problem i want to write select query for selectedindexcha ...

如何计算日期差异和数字差异(How to Calculate Date Diff And Num Diff)

problem glnotranscationdate deposit withdraw transid loan ...

ie6浏览器问题在我的网页上(ie6 browser issue in my web page)

problem my webpage displaying 1 inleft bottom corner only ...

无法在表单上使用控件。(Unable to use controls on the form.)

problem hi, i have created some static insta ...

如何在Javascript中使用正则表达式匹配定义的模式(How to match defined pattern using regular expression in Javascript)

problem hi, first, there is a string called: var bookpat ...

我想打印收据,但我遇到了问题(I want to print a reciept but i face a problem)

problem in this project i am using datareport ...