Para utilizar un diálogo modal que requiere una entrada de parte del usuario (Si/No por ej):

Colocar este código en el botón que despliega el modal dialog:

private void button1_Click (System.Object sender,System.EventArgs e)
{
    Gizmox.WebGUI.Forms.MessageBox.Show("Confirma que desea cerrar el formulario? Los cambios no guardados se perderán.", "Confirme", Gizmox.WebGUI.Forms.MessageBoxButtons.YesNo, new System.EventHandler(cancelarClick));
}

Crear este método handler:

private void cancelarClick(object sender, System.EventArgs e)
{
    if (((Gizmox.WebGUI.Forms.Form)sender).DialogResult == Gizmox.WebGUI.Forms.DialogResult.Yes)
    {
        this.Close();
    }
    else
    {
        Gizmox.WebGUI.Forms.MessageBox.Show("No");
    }
}