Galera,
preciso de uma ajuda urgente. Tenho um projeto para desenvolver e ele necessita que eu acesse objetos criados em um form por outro form.
Tá assim:
No Form1
para poder acessar os objetos por um Index em um array faço assim:
clsCarros[] Carro1 = new clsCarros[clsDefinicoes.iMaxNumCarros];
sendo que clsDefinicoes.iMaxNumCarros é um int;
para inicializar os objetos faço assim:
Carro1[iCont2] = new clsCarros(); (sendo que iCont2 é um int)
Digamos que iCont2 = 0
Se no Form2 tentar acessar Carro1[0] diz que o nome não existe no contexto atual, até aí entendo…
os namespaces dos dois forms é o mesmo, fazem parte do mesmo projeto, então não tem como usar o:
using namespacedoform1;
Alguém sabe como fazer???
segue o código para dar uma olhada:
Foi tirado do código partes não relevantes
Form 1
namespace SimuladorCarros
{
public partial class frmClasseCarros : Form
{
clsCarros[] Carro1 = new clsCarros[clsDefinicoes.iMaxNumCarros];
private void vIncluirCarro()
{
for (int iCont1 = 0; iCont1 < clsDefinicoes.iMaxNumCarros; iCont1++)
{
for (int iCont2 = 0; iCont2 < clsDefinicoes.iMaxNumCarros; iCont2++)
{
if (Carro1[iCont2] == null)
{
Carro1[iCont2] = new clsCarros();
Carro1[iCont2].strAnoModelo = txtAnoModelo.Text;
Carro1[iCont2].strCor = txtCor.Text;
Carro1[iCont2].strFabricante = txtFabricante.Text;
Carro1[iCont2].strModelo = txtModelo.Text;
break;
}
}
vListarCarros();
vLimparCampos();
txtModelo.Focus();
}
}
}
Preciso acessar esse objeto em outro Form e não sei como fazer, já tentei de tudo...
Uma das tentativas foi:
public void cmdLigar_Click(object sender, EventArgs e)
{
if (dgvCarros.Rows.Count == 0)
{
return;
}
else
{
frmSelecionarCarro child = new frmSelecionarCarro();
int iCarroSelecionado = dgvCarros.CurrentRow.Index;
for (int iCont1 = 0; iCont1 < clsDefinicoes.iMaxNumCarros; iCont1++)
{
if (Carro1[iCont1] == null)
{
continue;
}
else if (Carro1[iCont1].strModelo == dgvCarros.Rows[iCarroSelecionado].Cells[0].Value.ToString()
&& Carro1[iCont1].strFabricante == dgvCarros.Rows[iCarroSelecionado].Cells[1].Value.ToString()
&& Carro1[iCont1].strCor == dgvCarros.Rows[iCarroSelecionado].Cells[2].Value.ToString()
&& Carro1[iCont1].strAnoModelo == dgvCarros.Rows[iCarroSelecionado].Cells[3].Value.ToString())
{
child.DataGridView.Columns.Add("Modelo", "Modelo");
child.DataGridView.Columns.Add("Modelo", "Modelo");
child.DataGridView.Columns.Add("Modelo", "Modelo");
child.DataGridView.Columns.Add("Modelo", "Modelo");
child.DataGridView.Rows.Add(Carro1[iCont1].strModelo
, Carro1[iCont1].strFabricante
, Carro1[iCont1].strCor
, Carro1[iCont1].strAnoModelo);
}
}
child.Show();
}
No Form2
namespace SimuladorCarros
{
public partial class frmSelecionarCarro : Form
{
public frmSelecionarCarro()
{
InitializeComponent();
try
{
dgvCarros = new DataGridView();
}
catch (Exception X)
{
MessageBox.Show(X.ToString());
}
}
public DataGridView DataGridView
{
get { return dgvCarros; }
}
}
}