ABRIR FORM DE OUTRO PROJETO NA MESMA SOLU?ÃO

NETVOO 15/01/2016 16:52:06
#456168
Pessoal estou tentando, 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.
JABA 15/01/2016 17:27:09
#456171
Resposta escolhida
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?
NETVOO 15/01/2016 17:32:58
#456172
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)
{


JABA 15/01/2016 17:37:06
#456173
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.
NETVOO 15/01/2016 17:44:23
#456174
Estou passando assim na chamada em outros forms dessa maneira e abre normal. e alimenta certinho, esse abre em branco e nem da erro.

// 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();

}


}
JABA 15/01/2016 18:01:44
#456175
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.

}


NETVOO 15/01/2016 18:02:30
#456176
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();

}


}
NETVOO 15/01/2016 18:14:43
#456177
JABA.

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);

}
JABA 15/01/2016 18:20:58
#456178
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();

JABA 15/01/2016 18:26:42
#456179
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.
NETVOO 15/01/2016 18:44:58
#456181
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.
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas