ABRIR FORM DE OUTRO PROJETO NA MESMA SOLU?ÃO
Ele não da erro só que me abre um form em branco sem nada como se um novo form.
Estou fazendo a chamada de um botão.
GeraBoletos geraboletoG = new GeraBoletos(this.ePRESTCNPJ, this.eNumeroDoc, this.out_data_hora, Convert.ToDecimal(this.textBox2.Text), this.Instrucoes3);
geraboletoG.Show();
No projeto Principal eu adicionei o outro projeto que contem o form nas referencias.
Alguém pode dar uma ideia do que pode ser.
Citação:GeraBoletos geraboletoG = new [txt-color=#e80000]GeraBoletos[/txt-color](this.ePRESTCNPJ, this.eNumeroDoc, this.out_data_hora, Convert.ToDecimal(this.textBox2.Text), this.Instrucoes3);
geraboletoG.Show();
1- O form está sendo abastecido via construtor; sendo assim, tem que averiguar se esses dados são passados para as propriedades (que foram criadas) existentes do form, ou se estão sendo jogadas diretamente nos controles existentes nele. Se a segunda opção for verdadeira, então verifique se os controles estão sendo criados antes de receberem os dados, pois pode não estar dando tempo de carregá-los para o seu preenchimento.
2- Você está instanciando o seu form GeraBoletos geraboletoG = new [txt-color=#e80000]GeraBoletos[/txt-color] assim, mas veja que o a parte em vermelho é um outro objeto. GerarBoletos é uma classe base para todos os outros forms ou isso foi um erro de digitação?
Citação::
GeraBoletos geraboletoG = new [txt-color=#e80000]GeraBoletos[/txt-color](this.ePRESTCNPJ, this.eNumeroDoc, this.out_data_hora, Convert.ToDecimal(this.textBox2.Text), this.Instrucoes3);
geraboletoG.Show();
1- O form está sendo abastecido via construtor; sendo assim, tem que averiguar se esses dados são passados para as propriedades (que foram criadas) existentes do form, ou se estão sendo jogadas diretamente nos controles existentes nele. Se a segunda opção for verdadeira, então verifique se os controles estão sendo criados antes de receberem os dados, pois pode não estar dando tempo de carregá-los para o seu preenchimento.
2- Você está instanciando o seu form GeraBoletos geraboletoG = new [txt-color=#e80000]GeraBoletos[/txt-color] assim, mas veja que o a parte em vermelho é um outro objeto. GerarBoletos é uma classe base para todos os outros forms ou isso foi um erro de digitação?
está assim no form.
namespace BoletoNet.Arquivo
{
public partial class GeraBoletos : Form
{
public GeraBoletos(string DaDosCNpj, string Cliente, string dataGer, decimal Valor, string Instrucoes3)
{
Citação:namespace BoletoNet.Arquivo
{
public partial class GeraBoletos : Form
{
public GeraBoletos(string DaDosCNpj, string Cliente, string dataGer, decimal Valor, string Instrucoes3)
{
Mostre a parte interna desse construtor, quero ver como esses dados estão sendo tratados.
// modifiquei o conteudo para ver se funciona...
private void button2_Click(object sender, EventArgs e)
{
//GeraBoletos geraboletoG = new GeraBoletos(this.ePRESTCNPJ, this.eNumeroDoc, this.out_data_hora, //Convert.ToDecimal(this.textBox2.Text), this.Instrucoes3);
//geraboletoG.Show();
BoletoNet.Arquivo.GeraBoletos GeraBoletos = new BoletoNet.Arquivo.GeraBoletos(this.ePRESTCNPJ, this.eNumeroDoc, this.out_data_hora, Convert.ToDecimal(this.textBox2.Text), this.Instrucoes3);
GeraBoletos.Show();
}
Esses dados Abaixo são alimentados por um select e fora o txt os outros são públicos.
// Aqui trato a sequencia do bloco e seus dados
public string ePRESTCNPJ;
public string eNumeroDoc;
public string out_data_hora;
public string Instrucoes3;
this.ePRESTCNPJ,
this.eNumeroDoc,
this.out_data_hora,
Convert.ToDecimal(this.textBox2.Text),
this.Instrucoes3
Não sei se era isso que você queria.. !
E na recepção dos dados está assim.
public GeraBoletos(string DaDosCNpj, string Cliente, string dataGer, decimal Valor, string Instrucoes3)
{
if (DaDosCNpj != null && Cliente != null && dataGer != null)
{
//this.radioButtonItau.Checked = true;
this.wDaDosCNpj = DaDosCNpj;
this.wCliente = Cliente;
this.wDaTaVendNFSe = dataGer;
this.wValor = Valor;
this.InstrucoesIten3 = Instrucoes3;
CarregaPrestador();
carregaTomador();
}
}
Por exemplo:
public GeraBoletos(string DaDosCNpj, string Cliente, string dataGer, decimal Valor, string Instrucoes3)
{
// quero ver o codigo que está aqui dentro.
}
Citação::
Eu quero ver o codigo que esta dentro do construtor da classe GeraBoletos.
Por exemplo:public GeraBoletos(string DaDosCNpj, string Cliente, string dataGer, decimal Valor, string Instrucoes3)
{
// quero ver o codigo que está aqui dentro.
}
E na recepção dos dados está assim.
public GeraBoletos(string DaDosCNpj, string Cliente, string dataGer, decimal Valor, string Instrucoes3)
{
if (DaDosCNpj != null && Cliente != null && dataGer != null)
{
//this.radioButtonItau.Checked = true;
this.wDaDosCNpj = DaDosCNpj;
this.wCliente = Cliente;
this.wDaTaVendNFSe = dataGer;
this.wValor = Valor;
this.InstrucoesIten3 = Instrucoes3;
CarregaPrestador();
carregaTomador();
}
}
Fiz assim e funcionou a abertura do form.
mais não entra no if ou seja não recebe os dados...
public GeraBoletos(string DaDosCNpj, string Cliente, string dataGer, decimal Valor, string Instrucoes3)
{
InitializeComponent();
_impressaoBoleto.FormClosed += new FormClosedEventHandler(_impressaoBoleto_FormClosed);
if (DaDosCNpj != null && Cliente != null && dataGer != null)
{
//this.radioButtonItau.Checked = true;
this.wDaDosCNpj = DaDosCNpj;
this.wCliente = Cliente;
this.wDaTaVendNFSe = dataGer;
this.wValor = Valor;
this.InstrucoesIten3 = Instrucoes3;
CarregaPrestador();
carregaTomador();
}
}
public GeraBoletos()
{
// TODO: Complete member initialization
InitializeComponent();
_impressaoBoleto.FormClosed += new FormClosedEventHandler(_impressaoBoleto_FormClosed);
}
Por exemplo
public partial class GeraBoletos : Form
{
public GeraBoletos(string DaDosCNpj, string Cliente, string dataGer, decimal Valor, string Instrucoes3)
{
//codigo do construtor
}
public void PreencherDados()
{
txtCliente.Text = this.Cliente;
txtCnpj.Text = this.Cnpj;
etc...
}
}
DaÃ, na hora de usar, seria assim:
GeraBoletos geraboletoG = new GeraBoletos(this.ePRESTCNPJ, this.eNumeroDoc, this.out_data_hora, Convert.ToDecimal(this.textBox2.Text), this.Instrucoes3);
[txt-color=#e80000]geraboletoG.PreencherDados();[/txt-color]
geraboletoG.Show();
Citação:if (DaDosCNpj != null && Cliente != null && dataGer != null)
Para entrar dentro do IF será necessário que esses parâmetros não sejam nulos, pois se apenas um deles for, não vai entrar.
Citação::
NetVoo, pelo que to vendo, o form vai aparecer vazio mesmo, pois os dados que você está passando via construtor, estão sendo armazenados somente nas propriedades (variáveis em memória) do form. Creio que deva existir algum metodo que preencha os controles do form com esses dados que foram armazenados na memória; caso não existe, então isso deverá ser criado.
Por exemplo
public partial class GeraBoletos : Form
{
public GeraBoletos(string DaDosCNpj, string Cliente, string dataGer, decimal Valor, string Instrucoes3)
{
//codigo do construtor
}
public void PreencherDados()
{
txtCliente.Text = this.Cliente;
txtCnpj.Text = this.Cnpj;
etc...
}
}
DaÃ, na hora de usar, seria assim:GeraBoletos geraboletoG = new GeraBoletos(this.ePRESTCNPJ, this.eNumeroDoc, this.out_data_hora, Convert.ToDecimal(this.textBox2.Text), this.Instrucoes3);
[txt-color=#e80000]geraboletoG.PreencherDados();[/txt-color]
geraboletoG.Show();
Ok mas, estou alimentando as strings que são publicas e uso elas abaixo após clicar em um botão gerar Boleto.
public GeraBoletos(string DaDosCNpj, string Cliente, string dataGer, decimal Valor, string Instrucoes3)
{
if (DaDosCNpj != null && Cliente != null && dataGer != null)
{
//this.radioButtonItau.Checked = true;
this.wDaDosCNpj = DaDosCNpj; <----------------------- aqui pego do construtor e aliemento
this.wCliente = Cliente; <----------------------- aqui pego do construtor e aliemento
this.wDaTaVendNFSe = dataGer; <----------------------- aqui pego do construtor e aliemento
this.wValor = Valor; <----------------------- aqui pego do construtor e aliemento
this.InstrucoesIten3 = Instrucoes3; <----------------------- aqui pego do construtor e aliemento
CarregaPrestador(); <------------------ uso o this.wDaDosCNpj para carregar oprestador
carregaTomador(); <------------------ uso o this.wCliente para carregar os dados do cleinte
}
}
Aqui o form para, para que eu possa escolher o banco e clicar em outro botão para gerar o boleto.