Ho capito MarcoGG che tu hai una Lamborghini Diablo per programmare io una 500 vecchi modello, andiamo per gradi 

Ho una form padre con una sorta di menu a pulsanti sulla sinistra che mi aprono altrettante form midi.
Una di queste ha la gridview (ed è una form midi) cliccando sulla cella della griglia mi deve aprire sempre una form midi, certo non all'interno della precedente form midi ma all'interno della form padre.
Io ho sviluppato questo codice, ma non va un c........
Form MIDI (nome frmOfferta)
PrivateSub dgvMacchinario_CellDoubleClick(ByVal sender AsObject, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvMacchinario.CellDoubleClick
If e.ColumnIndex = 3 Then
frmpAvvio.Apri_frmMacchine()
frmMacchine.Show()
EndIf
EndSub
Form PADRE (nome frmpAvvio)
PrivateSub btnMacchine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMacchine.Click
Apri_frmMacchine()
EndSub
PublicSub Apri_frmMacchine()
Dim SingIstForm AsNew frmMacchine
SingIstForm = frmMacchine.Istanza
SingIstForm.MdiParent =
Me
AddHandler SingIstForm.FormClosed, AddressOf frmSecondaria_Closed
SingIstForm.Show()
btnMacchine.BackColor = Color.PaleGreen
EndSub
poi ragioniamo anche per la SELECT