Caso 1 No dejar cerrar el form.
Propiedades Border FixedSingle O Fixed3D, estilo Minimizar y maximizar Desactivados.
Public Class frmConfStock
Inherits System.Windows.Forms.Form
Private FrmControlCerrar As Boolean = False
..............
..............
Private Sub CmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSalir1.ClickButton
If EstadoProceso = 0 Then
FrmControlCerrar = False
Me.Close()
Else
MessageBox.Show("El Proceso Actualizaciión No ha Terminado.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End Sub
Private Sub frmConfStock_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
If FrmControlCerrar Then
MessageBox.Show("Para Salir de este Formulario pulsa en el Botón Salir.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
e.Cancel = True
FrmControlCerrar = False
End If
End Sub
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Const WM_SYSCOMMAND As Integer = &H112
Const SC_CLOSE As Integer = &HF060
Select Case m.Msg
Case WM_SYSCOMMAND
If m.WParam.ToInt32 = SC_CLOSE Then
FrmControlCerrar = True
End If
End Select
MyBase.WndProc(m)
End Sub
.............
End Clase
Eso es todo espero que les sirva
Saludossssssssss.