This is a duplicate thread of the one that lots of people answered this question in.

http://www.vbforums.com/showthread.php?t=385477

However, I'll make one final stab at it, modifying my code above.

VB Code:
  1. Dim gr As Graphics 'Make a new graphics object
  2.         Dim Bm As Image = Image.FromFile("firstimage.png")
  3.         Dim Bm2 As Image = Image.FromFile("secondimage.png")
  4.         Dim mergedbitmap As New Bitmap(Bm.Width + Bm2.Width, Bm.Height) 'Create a memory bitmap object the size of your two images
  5.         gr = Graphics.FromImage(mergedbitmap) 'Assing the graphics object to the memory bitmap
  6.         gr.DrawImage(Bm, 0, 0) 'Draw the first image to the memory bitmap object.
  7.         gr.DrawImage(Bm2, Bm.Width, 0) 'Draw the second image to the memory bitmap object.
  8.         PictureBox1.Image = mergedbitmap 'Set the picture to the memory bitmap
  9.         PictureBox1.Image.Save("Z:\merged.ping", Imaging.ImageFormat.Png) 'Save it as a png file
  10.         gr.Dispose() 'Always dispose graphics objects.

In the future, it's considered rude to start a thread about something when lots of people have given you advice already about it.

Bill