【问题标题】:What could cause a transparent scrollbar bug in a ListView?什么可能导致 ListView 中出现透明滚动条错误?
【发布时间】:2011-07-17 05:23:26
【问题描述】:

我有一个 ListView,在 C# .Net 3.5 项目中以我认为完全标准的方式设置,在使用 XP 的笔记本电脑上运行,几乎一直保持不变(尽管我大约重启了一次月或如果我安装任何新软件)。

早上进来时,我有时会在解锁机器时注意到这样的问候:

Scrollbars showing background through http://www.premierekitchens.co.uk/storage/DodgyScrollbars.png

如您所见,滚动条通过它们显示我的背景。它们变得透明了。它们仍然“工作”,因为鼠标可以与它们交互,但它们根本不会更新。

最奇怪的是,任何子窗口(以通常的 c# 方式创建和销毁)也有这个问题。而不仅仅是在 ListViews 上。标准文本框也有这个问题。

我已经搜索过,但我在任何地方都找不到任何关于此的信息。

有人对 a) 是什么原因有任何想法吗? b) 我该如何解决?

【问题讨论】:

  • 其他 .NET 应用程序也会出现这种情况吗?
  • 另外,您是否以任何方式操纵滚动条?
  • @BoltClock:它是在本地运行的一键式应用程序上在 windows 中创建的表单。
  • @Bobby:似乎没有其他应用程序受到影响,而且我没有以任何方式操纵滚动条。
  • 这是一个由 SystemEvents 类触发的线程错误。它在错误的线程上生成事件。当创建的第一个窗口不是在主线程上创建时,就会发生这种情况。常见于自定义启动画面。

标签: c# .net listview textbox scrollbars


【解决方案1】:

您的应用程序会自动更新(刷新)列表吗?由于未正确处理某些类型的对象而导致的 GDI 对象计数高,我已经看到过这样的控制问题。检查任务管理器并转到查看 -> 选择列以指定 USER 对象和 GDI 对象,并查看在应用程序运行时是否出现任何问题。

我还通过简单的显卡驱动程序更新修复了奇怪的控制问题,因此可能值得检查您是否安装了最新的驱动程序。

我想因为这需要一段时间才能发生,所以很难出错。实际上,我只记得前段时间我遇到了一个非常奇怪的问题,如果锁定桌面然后解锁,就会出现 GUI 错误。试试看是否可以按需复制问题

【讨论】:

  • 确实如此。我怀疑这很可能是答案。可悲的是,我不再有权访问应用程序(或代码),所以我无法检查,但这听起来像是最有前途的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 1970-01-01
  • 2011-07-02
  • 2013-11-05
  • 2020-11-26
  • 1970-01-01
相关资源
最近更新 更多