我正在使用WinForms。我想制作一个小课程,修改控件以显示它的工作情况。
我想在一个按钮上绘制一个叠加层。它应该是半透明的灰色。 之后我想在它上面绘制一个ProgressBar(在中心)。与This类似,但使用进度条除外。
我怎么能意识到这一点?我不想设置进度条的位置,只是将其绘制在另一个上。
我怎么能这样做? 谢谢:))
答案 0 :(得分:2)
我之前做过类似的事情。
您需要使用Button.DrawToBitmap(Bitmap, Rectangle)
来获取按钮的图像。然后制作位图灰度(there are multiple algorithms available for this;我已成功使用了最后一个,尽管可能不是最初来自此网站)。
现在,我使用整个表单而不是按钮执行此操作,但是我禁用了表单,然后用自己的图像覆盖了整个表单,更改了然后用进度条覆盖它(本身在一个面板中其他控件)。
你可以轻松地禁用按钮,用包含图像的面板和顶部的进度条覆盖它。