Hi Suraj,
The Location, Left, Top etc. properties of a control are always relative to the control's Parent. So if you can't see the Label at all, you are probably not resetting the Left and Top of the label correctly.
Here's a little sub I use for this purpose. It uses PointToScreen+PointToClient to make it completely accurate (allow for any border on the new parent control):
Code:
Private Sub Reparent(child As Control, newParent As Control)
Dim childLocation As Point = child.Parent.PointToScreen(child.Location)
child.Parent = newParent
childLocation = newParent.PointToClient(childLocation)
child.Left = childLocation.X
child.Top = childLocation.Y
End Sub
'example of use:
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Reparent(PictureBox2, PictureBox1)
Reparent(Label1, PictureBox2)
End Sub
BB