Primero: No uses para eso un Form. En su lugar, utiliza un UserContol que precisamente sirve para eso. Añade al proyecto un nuevo UserControl, y pon dentro de él el label, el textbox y el botón, como si fura un form. Después compila el proyecto. Y una vez
que lo hayas compilado, el UserControl aparecerá en la barra de herramientas y puedes arrastrarlo a tu tablelayoutpanel como si fuera cualquier control (o agregarlo por código si lo prefieres, de la misma manera que ahora estás agregando el form).
Para el evento: declara un evento público dentro del código del UserControl. Después, en el click del botón, lo único que haces es disparar ese evento público. Y entonces, en el formulario que contiene el tablelayoutpanel con los usercontrols, a cada uno
de ellos puedes conectarle un manejador distinto para ese evento que publicaste.
Editado: Ejemplo de cómo declarar el evento:
public class MiControl : UserControl
{
public event EventHandler BotonPulsado;
//...
private button1_Click(object sender, EventArgs e)
{
if (BotonPulsado != null)
{
BotonPulsado(this, e);
}
}
}
// Y en el formulario principal:
miControl1.BotonPulsado += miManejador1;