Usuário com melhor resposta
Menu dinamico

Pergunta
-
dae galera, blz?
Então, estou com o seguinte problema:
Tenho um menu jah predefinido, os "sub-menus" desse menu são criados dinamicamente, aqui esá o codigo q uso pra cria-los.
string nome = bancoDados_DataSet1.Tables["EQUIPAMENTO"].Rows[i][2].ToString(); ToolStripMenuItem item = new ToolStripMenuItem(); item.Text = nome; item.Name = nome; Incubadora.DropDownItems.Add(item); item.Click += new EventHandler(Item_Click);
até ae td bem!
o problema está no meu evento click. Quando eu clico em um sub-menu ele vai no meu banco de dados e busca o tipo de equipamento que é, ae ele vai passar esse tipo como parametro para meu novo form que abrirá.
Gostaria de alguma sugestão no meu código dentro do evento click.
Desculpe se não conseguir ser claro o suficiente.
Tiago.
Respostas
-
Não entendi...
O que não funciona no seu evento Item_Click?
Pra você passar um valor para a classe do Form2, é só criar uma variável pública nele;
//assumindo q seu form2 já está feito;
public partial class form2
{
public string TipoEquipamento;
}
aí no Item_Click;
toolstripmenuitem clickedItem=(toolstripmenuitem) sender;
form2 frm2=new form2();
//sender.text = ao nome do equipamento
//string s é o retorno da sua select
frm2.NomeEquipamento=s;
frm2.show();
Att ...- Sugerido como Resposta Harley AraujoModerator quinta-feira, 26 de novembro de 2009 13:09
- Marcado como Resposta Fernanda SimõesModerator quarta-feira, 2 de dezembro de 2009 13:23
-
Tiago,
Quando vc fez item.Click += new EventHandler(Item_Click); criou um novo Método.
Nesse método criado faça isso:
public void Item_Click(object sender, EventArgs e) { string nomeForm = "NAMESPACE.NomeDoFORM"; Type t = Type.GetType(nomeForm); Form f = (Form)Activator.CreateInstance(t, "abc"); f.Show(); } No FORM que será aberto o construtor está dessa maneira: public Form2(string t) { MessageBox.Show(t.ToString()); }
Henrique Tambalo- Sugerido como Resposta Harley AraujoModerator quinta-feira, 26 de novembro de 2009 13:09
- Marcado como Resposta Fernanda SimõesModerator quarta-feira, 2 de dezembro de 2009 13:23
Todas as Respostas
-
Não entendi...
O que não funciona no seu evento Item_Click?
Pra você passar um valor para a classe do Form2, é só criar uma variável pública nele;
//assumindo q seu form2 já está feito;
public partial class form2
{
public string TipoEquipamento;
}
aí no Item_Click;
toolstripmenuitem clickedItem=(toolstripmenuitem) sender;
form2 frm2=new form2();
//sender.text = ao nome do equipamento
//string s é o retorno da sua select
frm2.NomeEquipamento=s;
frm2.show();
Att ...- Sugerido como Resposta Harley AraujoModerator quinta-feira, 26 de novembro de 2009 13:09
- Marcado como Resposta Fernanda SimõesModerator quarta-feira, 2 de dezembro de 2009 13:23
-
Tiago,
Quando vc fez item.Click += new EventHandler(Item_Click); criou um novo Método.
Nesse método criado faça isso:
public void Item_Click(object sender, EventArgs e) { string nomeForm = "NAMESPACE.NomeDoFORM"; Type t = Type.GetType(nomeForm); Form f = (Form)Activator.CreateInstance(t, "abc"); f.Show(); } No FORM que será aberto o construtor está dessa maneira: public Form2(string t) { MessageBox.Show(t.ToString()); }
Henrique Tambalo- Sugerido como Resposta Harley AraujoModerator quinta-feira, 26 de novembro de 2009 13:09
- Marcado como Resposta Fernanda SimõesModerator quarta-feira, 2 de dezembro de 2009 13:23