2012-01-12 21 views

回答

1

這應該做的工作:

Dim OldImage As Image 

Private Sub PictureBox1_Click(sender As System.Object, e As System.EventArgs) Handles PictureBox1.Click 
    OldImage = PictureBox1.Image 'This will store the image before changing. Set this in Form1_Load() handler 

    PictureBox1.Image = Image.FromFile("C:\xyz.jpg") 'Method 1 : This will load the image in memory 
    PictureBox1.ImageLocation = "C:\xyz.jpg" 'Method 2 : This will load the image from the filesystem and other apps won't be able to edit/delete the image 
    PictureBox1.Image = My.Resources.Image 'Method 3 : This will also load the image in memory from a resource in your appc 

    PictureBox1.Image = OldImage 'Set the image again to the old one 
End Sub 
+0

有沒有什麼方法可以使用這些方法中的任何一種來改變畫面? – HunderingThooves 2012-01-12 17:27:53

+0

已更新的答案。 – Elmo 2012-01-12 17:29:45

2

保持圖像的列表,並從列表中specificying更改索引的圖片框的圖像:

簡單的例子有PictureBox

Public Class Form1 
    Private _Images As New List(Of Image) 
    Private _ImageIndex As Integer 

    Public Sub New() 
    InitializeComponent() 

    For i As Integer = 1 To 3 
     Dim bmp As New Bitmap(32, 32) 
     Using g As Graphics = Graphics.FromImage(bmp) 
     Select Case i 
      Case 1 : g.Clear(Color.Blue) 
      Case 2 : g.Clear(Color.Red) 
      Case 3 : g.Clear(Color.Green) 
     End Select 
     End Using 
     _Images.Add(bmp) 
    Next 

    End Sub 

    Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles PictureBox1.Click 
    If _Images.Count > 0 Then 
     PictureBox1.Image = _Images(_ImageIndex) 
     _ImageIndex += 1 
     If _ImageIndex > _Images.Count - 1 Then 
     _ImageIndex = 0 
     End If 
    End If 
    End Sub 
End Class