模拟Winforms按钮单击动画

时间:2009-07-28 20:36:04

标签: vb.net winforms

我有一个按钮,在我的按钮内,我有一个图像控件。当用户点击图像时,我想为按钮设置动画,以便按下该按钮。我真的不在乎实际的按钮按下事件是否会触发 - 这是我想看到的按钮按下的错觉。

注意:我在网上看到的唯一选项涉及直接写入Windows API - 一种复杂程度和不可升级性,我真的不想进入。

3 个答案:

答案 0 :(得分:2)

为什么不使用两个不同的图像,一个用于正常状态,另一个用于按下按钮时。

如果你想要更复杂的路线尝试使用GDI +。以下是关于如何执行此操作的快速sample tutorial

答案 1 :(得分:2)

为什么在按钮控件中使用图像控件而不是使用button control's Image property

使用按钮的Image属性将为您提供一个按钮,其中包含用户可以按下的图像,这将提升OnClick事件,而无需执行任何额外工作或重新实现已有的功能。

答案 2 :(得分:1)

我最终通过赋予它凸起的边框样式使我的picturbox看起来像一个按钮。然后在鼠标点击事件中,我通过将边框样式更改几百毫秒来模拟按下按钮的外观。

Private Sub simulateButtonPress(ByRef pictureBox As Infragistics.Win.UltraWinEditors.UltraPictureBox)
    pictureBox.BorderStyle = Infragistics.Win.UIElementBorderStyle.Inset
    Application.DoEvents()
    System.Threading.Thread.Sleep(400)
    pictureBox.BorderStyle = Infragistics.Win.UIElementBorderStyle.Raised
    Application.DoEvents()
End Sub