在 Blend 中用图像制作进度条
Posted
技术标签:
【中文标题】在 Blend 中用图像制作进度条【英文标题】:Make a progress bar out of a image in Blend 【发布时间】:2015-05-04 10:48:03 【问题描述】:我一直在尝试在 Blend 中将图像作为进度条用于程序中以查看还剩多少时间,并且为了适应整个 GUI,我想要一个服装进度条而不是默认的绿色进度条,我有 2 个我想使用的图像,拿着酒吧的硬币容器和绿色酒吧本身。唯一的问题是我不知道如何设置这些东西。
【问题讨论】:
【参考方案1】:除非您禁用应用程序的视觉样式,否则您无法更改进度条的颜色。我的建议是创建一个自定义控件,一个简单的方法是在每次进度更改时填充一个矩形。 因此,使用 Panel 作为容器并使用 PictureBox 在其上绘制停靠在容器上。在 PictureBox 的 Paint 事件中,检查进度是否发生变化(进度以 int 形式存储在属性或字段中)以及是否绘制了剩余的矩形:
//check if progress changed ex. if( lastProg != this.Progress )
using ( Graphics g = Graphics.FromImage( pb.Image ) )
using( Brush brush = new SolidBrush( myColor ) )
//calculate width and x here
g.FillRectangle( brush, x, 0, width, pb.Heigth );
您需要知道它与其宽度成正比,因此如果它的大小可能因用户调整窗口大小而发生变化,您也必须对其进行缩放。 毕竟你可以添加一些其他的视觉风格,所以当进度真的很慢时,它感觉仍然有效。 嗯,这就是我的解决方案,如果你需要一个样品,这里是by CodeProject。
【讨论】:
以上是关于在 Blend 中用图像制作进度条的主要内容,如果未能解决你的问题,请参考以下文章