0

我有一个关于 VB.NET 中 button.click 事件的快速问题。

我要做的是编写一段代码,当按下屏幕按钮时将运行一个循环,并在释放它时停止运行代码。

例如,它会在按下按钮时在两种颜色之间切换图片框,并在释放按钮时停止切换颜色(我不想这样做,但这是一个有用的示例)。

如何做到这一点?Button.Click 事件仅在您单击并释放按钮后触发,而我需要将这两者分离为单击处理程序和释放处理程序。

干杯

4

1 回答 1

0

我会使用面板和计时器,而不是为此使用按钮(如果您愿意,可以使用)。这是一个例子:(我会在后面解释)

假设我们的计时器被调用ButtonTimer并且我们的面板被调用EventPanel

让我们也使用您提供的示例。让我们调用我们的 PictureBoxAltPicturebox

将 设置ButtonTimer.Interval为 1 并设置ButtonTimer.Enabled为 True

Private Sub ButtonTimer_Tick(sender As Object, e as EventArgs) Handles ButtonTimer.Tick
    Select Case(MouseButtons)
        Case MouseButtons.Left 'checks if left mouse click is down
            If (MousePosition.X > EventPanel.Left) & (MousePosition.X < EventPanel.Right) & (MousePosition.Y > EventPanel.Top) & (MousePosition.Y < EventPanel.Bottom) Then 'checks if mouse is within the EventPanel control
                AltPictureBox.Image = Image.FromFile("C:\Image1.png") 'sets the image of picturebox
        Case Else
            AltPictureBox.Image = Imag.FromFile("C:\OriginalImage.png")
    End Select
End Sub

希望这有帮助,

罗迪特

于 2014-04-08T15:45:43.767 回答