请教Winform进度条怎样改变颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教Winform进度条怎样改变颜色相关的知识,希望对你有一定的参考价值。

参考技术A 首先,什么是系统进度条。系统进度条主要就是系统内存发生变化时随之变化的部分,主要有“磁盘空间”,“复制粘贴进度”等。

怎么改变这些参数呢?首先还是运行win7 style builder,在地址栏找到“进度条”--“常规”,可以看到可以修改的有好多项。

通常我们只需要修改“流动状态”即可。
流动状态有三种,分别是硬盘的膨胀、停顿和正常状态。

这里笔者以修改硬盘的正常状态为例来给大家讲解下怎样修改。
首先点击“硬盘正常状态”,点击“导出”将背景图片导出到我的电脑内存,笔者一般喜欢导出到我的桌面。

将导入的图片用ps打开。

点击ps的图示位置来修改颜色。

笔者随意将进度条颜色修改为紫色给大家看看。

保存修改过后的文件到本地。

将修改后的文件直接拖入预览栏替换原图片,点击测试看看效果吧。

这是修改前后效果对比。

11
修改之后按照上篇经验的讲解保存即可,这里不做赘述。

C# winform改变窗体大小时背景图片出现重叠怎么解决

小白请教

参考技术A 没刷新过来吧追问

改变一下窗体大小背景图片就拉成这样,不是没刷新过来。。。

参考技术B 改变窗体大小后有强制update()吗?追问

有。那个是一个MDI的父窗体,我是在这个父窗体的窗体大小改变事件里加的,但还是不行。


之后又在父窗体的窗体大小改变事件里加多了两行,重叠现象倒解决,但却出现另一个问题,拉动窗体改变大小闪烁的厉害。。

追答

那是因为你的update 加的地方不对.
图形滞留在哪个窗体 就强制哪个窗体update

闪烁是因为update被多次调用导致的.

你试试在对应的窗体 paint 事件下 写
this.update();

追问

好像没放错啊,就是图中的“图像查看器”那个窗体(form09)。。。
paint 事件下 写this.update();也不行。

追答

我的意思不是你放错了.
而且说update的放置处理方式不恰当.
比如你放在sizechanged中, 只要你鼠标拖动一下, 这个事件就会被触发. 那么你拖动过程中就会连续触发update. 为了避免这种情况.
你可以限制拖动改变窗体尺寸.
或者把update放在其他事件触发当中, 比如窗体的激活等
也或者把update作为用户主动调用方法, 放在刷新按钮等等方式里.

==============
只要你的update触发设计的不好, 被频繁触发, winform下无论你怎么设置buffer, 都会闪烁的. 从你改变尺寸的方式来看, 你的WM_PAINT消息结构的中RECT就是整块区域. 这就只能从设计技巧入手去改变这种情况.

否则你的窗体就只能使用DX来绘制. 这就什么都可以解决了, 但是就无法像Winform一样那样简单的使用控件.

参考技术C 什么情况下出现?追问

就是一个MDI界面的父窗体设置了背景图片,在拉动窗体边框改变大小时背景图片没随窗体的变化而变化,出现了图中的现象。背景图像布局为“Stretch”,但我觉得这个没关系,因为不把窗体设置MDI父窗体时就正常了。

追答

Form的构造函数里加这个有用吗:

this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);

本回答被提问者采纳

以上是关于请教Winform进度条怎样改变颜色的主要内容,如果未能解决你的问题,请参考以下文章

C#中怎样改变进度条(progressbar)的颜色?

Qt中如何改变QProgressBar中进度条的颜色?

winform 进度条

C# winform加载子窗体很慢 如何用进度条显示

关于Android怎么改变ProgressBar进度条颜色

如何制作WinForm中自定义进度条