//arquivo de cancelamento

        private void button4_Click(object sender, EventArgs e)
        {
            ClientEnvironment manager = null;

            try
            {
                if (oNFe.codigoSituacao != TipoSituacaoNota.Cancelada)
                {
                    throw new Exception("Nota não esta cancelada.");
                }

                sfdProcCancNFe.Filter = "Arquivo XML|*.xml";
                sfdProcCancNFe.Title  = "Salvar arquivo";

                manager = Conexao.CreateManager(Program.ConAux);

                //verficar se foi cancelado por evento
                if (oNFe.CanceladaPorEvento(manager))
                {
                    //se cancelada por evento, deverá gerar o arquivo de divulgação do evento
                    throw new Exception("Nota foi cancelada por evento. Não é possível gerar esse arquivo.");
                }
                sfdProcCancNFe.FileName = oNFe.nProtCancelamento + "_v2.00-procCancNFe.xml";
                sfdProcCancNFe.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                Conexao.DisposeManager(manager);
            }
        }