代码之家  ›  专栏  ›  技术社区  ›  Jeff

模拟WinForms按钮单击动画

  •  0
  • Jeff  · 技术社区  · 16 年前

    我有一个按钮,按钮里面有一个图像控件。当用户单击图像时,我想动画化按钮,使其看起来像是按下了按钮。我真的不在乎实际的按钮按下事件是否触发——这是我想看到的按钮按下的假象。

    注意:我在网上看到的唯一的选择是直接写入Windows API——这是一个我真的不想进入的复杂程度和不可升级性。

    3 回复  |  直到 16 年前
        1
  •  2
  •   Kredns    16 年前

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

    如果你想去更复杂的路线,尝试使用gdi+。这是一个快速 sample tutorial 关于如何做到这一点。

        2
  •  2
  •   CoderDennis    16 年前

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

    使用按钮的Image属性将为您提供一个按钮,其中包含一个用户可以按的图像,它将在不做任何额外工作或重新实现现有功能的情况下引发onclick事件。

        3
  •  1
  •   Jeff    16 年前

    最后,我把我的Picturbox设计成一个凸起的边框样式,让它看起来像一个纽扣。然后在mouselick事件中,我通过将边框样式更改几百毫秒来模拟按键的外观。

    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
    
    推荐文章