2014-04-07 178 views
0

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

我想要做的是写一段代码,它会在按下屏幕按钮时运行一个循环,并在发布时停止运行代码。例如,它将在按下按钮时在两种颜色之间切换图片框,并在释放按钮时停止切换颜色(我不想这样做,但它是一个有用的示例)。

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

干杯

+0

您使用什么语言? – ArmaAK

+0

哦,那很笨,VB.NET,我现在就更新它。干杯。 – Phynix

+0

说实话,我对VB.NET一无所知,但是我发现了这个网站:http://www.homeandlearn.co.uk/NET/nets10p2.html,它可能会为你提供一些帮助。你可以像这样的伪代码有一个while循环: onButtonClick: while(button.isClicked): (在这里做一些事情) -Edit:评论格式化的方式使它看起来很丑,但你应该得到主理念。 – ArmaAK

回答

0

而不是使用此按钮(你可以,如果你愿意的话),我会用一个面板和一个计时器。下面是与例如:(以后我会解释)

假设我们的定时器叫ButtonTimer和我们的小组被称为EventPanel

让我们也用你给的例子。让我们把我们的PictureBox AltPicturebox

设置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 

希望这有助于,

Rodit