你要确定每个状态的大小是一样的才可以:
Public Bitmap CutImage(ByVal start As Point, ByVal end As Point, ByVal b As Bitmap)
Dim f As New Bitmap(end.X - start.X + 1, end.Y - start.Y + 1)
For i As Integer = start.X To end.X + 1
For j As Integer = start.Y To end.Y + 1
Dim c As Color = b.GetPixel(i, j)
f.SetPixel(i - start.X, j - start.Y, c)
Next
Next
Return f
End Sub
这个函数就可以用于裁剪图像,返回裁剪后的图像,start是开始裁剪的位置,end是结束裁剪的位置,b是要裁剪的图像,假如你的这些按钮每个宽30,高20,你就可以用PictureBox1.Image = CutImage(New Point(第n - 1个按钮 * 30, 0), New Point(第n个按钮 * 30, 20), 按钮存在的位图)