.NET 新手在这里...我想在 Windows 窗体中制作一个按钮,显示进度或“冷却”效果。也就是说,当按钮被按下时,它会被禁用。随着某些事件或计时器的进行,该按钮以图形方式显示进度。进度完成后,图形完成并且按钮变为启用状态。在许多游戏中都可以看到类似的效果。
我曾考虑使用内置 Button 类和 GDI+ DrawPath 函数的组合,但复杂性扩展性很差,而且我觉得必须有更简单的方法。
有任何想法吗?谢谢。
最简单的方法是创建进度条控件的实例,然后您不需要执行任何自定义编码/自定义绘画。如果您确实需要在按钮控件中显示所有内容,那么您有两个选择。您可以不断更改按钮的 Image 属性或全力以赴并执行按钮的自定义绘制。自定义绘画非常简单,因为您只需要绘制文本以及您想要的任何图像。
另一种简单的方法可能是让两个控件、一个按钮和一个进度条占据表单上的相同空间。当用户按下按钮时,隐藏按钮并显示进度条。根据需要更新进度条,直到完成任何处理。然后,隐藏进度条并再次显示按钮。
如果您真的需要将它放在按钮上,我会使用自定义绘制事件。
类似于:
button += new buttonPaintEvent(buttonPaintEventHandlerMethod);