问题标签 [redraw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
920 浏览

java - 如何让 Java Frame 不等待?

我正在编写一个用多边形近似图像的遗传算法。在经历不同的世代时,我想将进度输出到 JFrame。但是,似乎 JFrame 一直等到 GA 的 while 循环完成才能显示某些内容。我不相信这是像重绘这样的问题,因为一旦 while 循环退出,它最终会显示所有内容。即使 while 循环正在运行,我也希望 GUI 能够动态更新。

这是我的代码:

0 投票
1 回答
3352 浏览

wpf - WPF - 项目更改时重绘上下文菜单?

我在 ScrollViewer 中有一个 ItemsControl,当项目超过 ScrollViewer 的宽度时,它们被放入 ContextMenu 并显示为 DropDown。我的问题是,当第一次加载上下文菜单时,它会保存菜单的大小,并且在添加/删除更多命令时不会重绘。

例如,一个面板有 3 个命令。1 可见,2 在菜单中。查看菜单会显示 2 个命令并绘制控件,但是如果您调整面板的大小以使 2 个可见并且菜单中只有 1 个命令,则它不会重新绘制菜单以消除第二个菜单项。或者更糟糕的是,如果您缩小面板以使不显示任何命令并且所有 3 个命令都在菜单中,它只会显示前 2 个命令。

https://i193.photobucket.com/albums/z197/Lady53461/ContextMenuRedraw.jpg

这是我的代码:

代码背后:

我曾尝试使用 InvalidateVisual 并在 Render 上传递一个空委托来尝试强制重绘,但两者都不起作用。我正在使用.Net 4.0。

0 投票
4 回答
2216 浏览

c# - 防止控件在 C# 中重绘?

我有一个表单,其中包含很多运行时生成的控件(图像、按钮、面板……),大约 100 个控件(我正在制作一个卡片匹配游戏,所以表单中有很多控件)。

我将生成代码放入构造函数中,每次应用启动时,大约需要 3-5 秒才能完全加载所有控件。

如果我把另一个窗口放在顶部然后回到我的应用程序,控件将再次重绘。

如何防止控件被重绘?如果您不介意,请给我一个 C# 中的简单示例。

任何帮助表示赞赏!

0 投票
1 回答
757 浏览

iphone - iPhone:强制 UIButton 重绘自身

我有 5 个UIButtons并排放置,我想做的是在第一个按钮上设置图像,重绘它,等待 1 秒钟,然后在第二个按钮上设置一些其他图像,重绘第二个按钮等等。我试图在按钮上设置图像,然后调用函数 sleep(1) 等等,但它只是冻结应用程序 5 秒钟,然后同时重绘所有 5 个按钮。

0 投票
3 回答
6200 浏览

windows - 强制窗口重绘整个屏幕

我目前正在使用 GDI 绘制图形,但我需要能够重绘整个桌面/屏幕。我的图形是在屏幕上绘制的,但是当我移动一个绘制的像素时,它会变成一条线,因为我没有重绘屏幕(窗户不是)。我需要一些东西来强制它重绘整个屏幕,我尝试了以下方法:

它们似乎都不起作用,我只需要重绘整个屏幕。

0 投票
2 回答
2739 浏览

cocoa - NSView 不更新?

我正在处理拖放视图,并在网络上找到了一些拖放操作的处理程序。我想让它在用户将文件拖到拖放区域上时变为蓝色,并在退出拖放区域时再次变为灰色。问题是当您将鼠标拖到它上面或退出它时它没有更新。继承人的一些代码:

}

}

谢谢你的帮助。

0 投票
1 回答
860 浏览

winforms - 更改 TreeNode.BackColor 会导致完整的 TreeView 重绘

我在 TreeView 中设置了特定 TreeNode 的 BackColor,以提示用户在使用应用程序时节点发生了一些有趣的事情。但是,当我设置 BackColor 时,它会导致整个父 TreeView 控件重绘,而不仅仅是已更改的特定 TreeNode 的标签区域。我不会在任何时候调用 Refresh 或 Update —— 只是在 TreeNode 上设置 BackColor。看起来,TreeView 不仅使已更改的 TreeNode 的边界无效,还刷新了它的整个区域。这会导致令人讨厌的控件快速闪烁。

知道为什么会发生这种情况以及是否可以轻松阻止它吗?

0 投票
3 回答
5596 浏览

c# - “实时”更新 WPF 控件

我正在编写一个应用程序,它将显示相机看到的当前图像,它需要实时更新显示的图像,或者接近它。从本质上讲,我有一台可以捕捉图像的相机,我需要每隔 1 秒捕捉一个图像并将该图像显示到屏幕上。目前,我的应用程序有一个 Image 控件,我正在从相机捕获一个 BitmapImage 并将其设置为 Image.Source。我的麻烦是让它不断更新。不幸的是,我没有处理这样的事情的经验,它必须永远更新自己(或者直到我正在编写的应用程序关闭),老实说,似乎很少甚至没有(我已经能够发掘)在web 关于在 WPF/C# 中做这样的事情。我怀疑我 必须生成一个线程来执行图像捕获,但老实说,这是我的问题的一部分——我很少有使用线程的经验,而且对所有这些工作的原理有点困惑。非常感谢您提供的任何帮助。

0 投票
2 回答
717 浏览

c - 为什么我的 GTK+ 小部件的暴露事件会在很长一段时间后被冻结?它是 GTK+ 错误吗?

这是我的代码:

这是一个多线程程序,并没有做任何特别的事情!它只是强制 GtkDrawingArea 从主线程(GTK+ 主循环)重新绘制自身。

我的问题(或 GTK+ 问题!)是长时间运行后(可能是 0.5、1 或 4 分钟!),expose 事件将不起作用(在我调整整个窗口大小之前不会响应我的请求!)!请编译并运行代码来检查这种情况。我添加了一些可能有帮助的打印命令!但由于我的经验不足,我无法检测到问题。

我希望这个程序几乎总是可以重绘它的上下文,但它没有(或不能)。我能做些什么来解决这个问题?也许我应该向 GTK+ 开发人员报告错误?

我正在使用 Debian + GCC + GTK2.20

0 投票
1 回答
1655 浏览

wpf - WPF 应用程序在移动时速度缓慢/生涩

我有一个我正在创建的 WPF 应用程序的基本外壳。当我使用该DragMove()功能移动它时,应用程序会正确移动,但似乎“抽搐”了很多。在我看来,重绘率非常低,使应用程序看起来很慢且没有响应。

目前除了调用DragMove().
XAML 由带有圆角的外边框和设置为 的阴影组成RenderingBias="Performance"。标题栏和路径上还有一个小的渐变。但即使在代码中注释掉这些,仍然会使应用程序在移动时显得生涩和缓慢。

注意我已经在 Release 和调试器之外运行了这个。