【问题标题】:Making a VB.net winform button look pressed from code behind使 VB.net winform 按钮看起来从后面的代码按下
【发布时间】:2009-11-03 18:13:31
【问题描述】:

我在 VisualStudio 2005 中有一个基本的 VB.net 2.0 应用程序。

在一个表单中,我将多个文本框中的 [enter] 绑定到一个按钮。我想做的是“按下”来自getField_KeyDown() 的按钮,让用户直观地了解正在发生的事情。

使用下面的代码,按钮点击工作完成,但按钮的外观没有改变,用户没有反馈。

Private Sub getField_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtGetKey.KeyDown
    If e.KeyCode = Keys.Enter Then
        e.Handled = True
        Call btnGet.PerformClick()
    End If
End Sub

在完成btnGet.PerformClick() 工作时,如何使按钮看起来被按下?

【问题讨论】:

    标签: vb.net winforms


    【解决方案1】:

    您可以制作一个复选框并将外观设置为一个按钮。

    chkCheck.Appearance = Appearance.Button
    

    您也可以在设计模式中进行设置。

    它的行为与普通复选框相同。因此,您可以将按下的键分配给复选框的状态。

    【讨论】:

      【解决方案2】:

      您想设置按钮的FlatStyle。所以您的代码将如下所示:

      Private Sub getField_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtGetKey.KeyDown
          If e.KeyCode = Keys.Enter Then
              e.Handled = True
              btnGet.FlatStyle = FlatStyle.Flat
          End If
      End Sub
      

      这将改变按钮的外观——别忘了把它改回FlatStyle.Standard

      【讨论】:

      • 我发誓我在发布问题之前尝试过,但没有成功。现在当然可以。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2012-12-18
      • 2010-09-05
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多