2014-04-07 231 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