Está es la solución, yo tambien busque eso y no me quedo más que hacerlo yo mismo .__.
En el code de un form llamado "Form1", usa el siguiente codigo:
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
MsgBox("Pulsastes Cerrar")
End Sub
Private Sub Form1_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
Select Case Me.WindowState
Case FormWindowState.Minimized
MsgBox("Pulsastes Minimizar")
Case FormWindowState.Maximized
MsgBox("Pulsastes Maximizar")
End Select
End Sub
El sub from closing, controla el evento de el cerrado de from así que cuando se pulso X es porque se va a cerrar entonces este sub nos sirve logicamente para visar que se pulso X
Para Maximizar y Minimizar usamos el evento sub form size changed con un case que dice si el window state es minimized entonces se toco Minimizar y el otro case que si window state es maximized entonces obviamente se pulso Maximizar, no es 100% seguro para el 100x100 necesitas interceptar los mensajes que envia window al Handle de la ventana...