在 WinForms 应用程序中,我需要能够以交互方式编辑图像顶部的“热”区域,稍后才能用作一种图像映射。
我试图在PictureBox上安装一个带有一些浮动矩形(Microsoft.VisualBasic.PowerPacks ftw)的UserControl,但结果并不是那么漂亮,特别是在控件移动时出现闪烁和刷新问题。
有没有人碰巧知道有助于在画布上定义区域的现有控件?我认为图形应用程序需要经常处理浮动选择,但我无法追踪任何使用情况。任何想法都赞赏。
答案 0 :(得分:2)
暂时坚持使用您当前的解决方案。您的闪烁可能是因为您没有启用双缓冲!
启用双缓冲后,大部分(如果不是全部)闪烁都会消失。
在自定义控件和表单的InitializeComponent中:
this.SetStyle(ControlStyles.AllPaintingInWmPaint |
ControlStyles.UserPaint |
ControlStyles.DoubleBuffer,true);
中提供了更多信息
答案 1 :(得分:2)
我有这样的控制......没有设计师支持
我还没有解决过一个小错误(非常间歇性),但它位于BCL深处。 如果你想要一份副本,请给我发一封邮件(通过www.sadeveloper.net),我会在两个条件下寄给你一份。
MaLio