2014-09-21 50 views
1

我真的需要一些帮助,这种困境。Visual Basic 2010 Express - 如何在两个彼此重叠的图像之间来回切换?

我有两个灯泡的照片。在一张照片中,灯泡明亮闪烁,另一张照片则关闭。我应该重叠这些照片,并通过点击图像打开和关闭,但我无法弄清楚它的代码。你如何切换这些图像?我不允许使用按钮来做到这一点。我必须点击图片才能更改它。请帮忙!下面的链接,因为我没有足够的代表发布实际图像呢。

http://i1293.photobucket.com/albums/b598/BentoBoy1/ScreenHunter_02Sep202252_zps75800aea.png

公共类Form1中 私人小组ExitButton_Click(BYVAL发件人为System.Object的,BYVALË作为System.EventArgs)把手ExitButton.Click “关闭程序 Me.Close() 完子

Private Sub PrintButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintButton.Click 
    'Print the form in the print preview window 
    PrintForm1.PrintAction = Printing.PrintAction.PrintToPreview 
    PrintForm1.Print() 

End Sub 

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 
    'Turn the light bulb on. 
    MessageLabel.Text = "Turn on the light" 
End Sub 

Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MessageLabel.Click 
    'Display different messages when the light bulbs are clicked. 
End Sub 

Private Sub RedRadioButton_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RedRadioButton.CheckedChanged 
    'Set the MessageLabel text to Red. 
    MessageLabel.ForeColor = Color.Red 
End Sub 

Private Sub BlackRadioButton_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BlackRadioButton.CheckedChanged 
    'Set the MessageLabel text to Black. 
    MessageLabel.ForeColor = Color.Black 
End Sub 

Private Sub BlueRadioButton_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BlueRadioButton.CheckedChanged 
    'Set the MessageLabel text to Blue. 
    MessageLabel.ForeColor = Color.Blue 
End Sub 

Private Sub GreenRadioButton_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GreenRadioButton.CheckedChanged 
    'Set the MessageLabel text to Green. 
    MessageLabel.ForeColor = Color.Green 
End Sub 

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProgrammedByLabel.Click 
    'Programmed by me. 
End Sub 

Private Sub ColorsGroupBox_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ColorsGroupBox.Enter 
    'Group of different colors. 
End Sub 

Private Sub NameTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NameTextBox.TextChanged 
    'Name field. 
End Sub 

Private Sub PictureBox1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LightOnPictureBox.Click 
    'Light bulb is on. 
    LightOnPictureBox.Image = My.Resources.lighton 
    MessageLabel.Text = "Thanks for turning me on, " & NameTextBox.Text 
End Sub 

Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LightOffPictureBox.Click 
    'Light bulb is off. 
    LightOffPictureBox.Image = My.Resources.lightoff 
    MessageLabel.Text = "Thanks for turning me off, " & NameTextBox.Text 
End Sub 

Private Sub NameLabel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NameLabel.Click 
    'Name label. 
End Sub 

末级

回答

1

首先,我认为你应该在邻看看here理解图像比较发生的方式。其次,适当的事件来改变图片是PictureBox.Click ... 该代码应该像下面的代码:

Public Class Form1 
    Dim imageBulbOff As Image = My.Resources.BulbOff 
    Dim imageBulbOn As Image = My.Resources.BulbOn 
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
     PictureBox1.Image = imageBulbOff 
    End Sub 
    Private Sub PictureBox1_Click(sender As System.Object, e As System.EventArgs) Handles PictureBox1.Click 
     If PictureBox1.Image Is imageBulbOff Then 
      PictureBox1.Image = imageBulbOn 
     Else 
      PictureBox1.Image = imageBulbOff 
     End If 
    End Sub 
End Class