private void btnExecOpe_Click(object sender, EventArgs e)
        {
            TipoOperacao operacao = (TipoOperacao)cbxOperacao.SelectedItem;
            RespostaBase resposta = new RespostaBase()
            {
                Mensagem = string.Empty,
                Sucesso  = false
            };

            switch (operacao)
            {
            case TipoOperacao.Deposito:
                if (cbxConta.SelectedItem.GetType() == typeof(ContaCorrente))
                {
                    ContaCorrente cc = (ContaCorrente)cbxConta.SelectedItem;
                    resposta = cc.EfetuarDeposito(double.Parse(txtValor.Text));
                }
                else
                {
                    ContaEspecial ce = (ContaEspecial)cbxConta.SelectedItem;
                    resposta = ce.EfetuarDeposito(double.Parse(txtValor.Text));
                }
                break;

            case TipoOperacao.Saque:
                if (cbxConta.SelectedItem.GetType() == typeof(ContaCorrente))
                {
                    ContaCorrente cc = (ContaCorrente)cbxConta.SelectedItem;
                    resposta = cc.EfetuarSaque(double.Parse(txtValor.Text));
                }
                else
                {
                    ContaEspecial cc = (ContaEspecial)cbxConta.SelectedItem;
                    resposta = cc.EfetuarSaque(double.Parse(txtValor.Text));
                }
                break;
            }

            MessageBox.Show(resposta.Mensagem, resposta.Sucesso ? "Sucesso" : "Operação não efetuada", MessageBoxButtons.OK, resposta.Sucesso ? MessageBoxIcon.Information : MessageBoxIcon.Warning);
        }