MENU NÃO ABRE FORM
Olá, tenho um item de menu no MDI que abre normalmente(frmSelFunc), entretanto, adicionei um segundo item (frmSelContrato) no menu somente alterando os nomes, mas esse segundo não abre.Já verifiquei tudo o que eu pouco sei mas não vejo o que falta. Segue o código..
NO MDI:
public frmMDI()
{
InitializeComponent();
}
private void cadastroDeFuncionáriosToolStripMenuItem_Click(object sender, EventArgs e)
{
frmSelFunc formulario = new frmSelFunc();
formulario.MdiParent = Program.principal;
formulario.Show();
}
private void frmMDI_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show([Ô]Deseja sair do Sistema?[Ô], [Ô]Saida do Sistema[Ô], MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
{
e.Cancel = true;
}
}
private void sairToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void sairToolStripMenuItem1_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void cadastroDeContratosToolStripMenuItem_Click(object sender, EventArgs e)
{
frmSelContrato formulario = new frmSelContrato(); // ESSE QUE NÃO ABRE
formulario.MdiParent = Program.principal;
formulario.Show();
}
--------------------------------------------------------
EM Program.cs:
public static frmMDI principal;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
principal = new frmMDI();
Application.Run(principal);
}
Alan
NO MDI:
public frmMDI()
{
InitializeComponent();
}
private void cadastroDeFuncionáriosToolStripMenuItem_Click(object sender, EventArgs e)
{
frmSelFunc formulario = new frmSelFunc();
formulario.MdiParent = Program.principal;
formulario.Show();
}
private void frmMDI_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show([Ô]Deseja sair do Sistema?[Ô], [Ô]Saida do Sistema[Ô], MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
{
e.Cancel = true;
}
}
private void sairToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void sairToolStripMenuItem1_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void cadastroDeContratosToolStripMenuItem_Click(object sender, EventArgs e)
{
frmSelContrato formulario = new frmSelContrato(); // ESSE QUE NÃO ABRE
formulario.MdiParent = Program.principal;
formulario.Show();
}
--------------------------------------------------------
EM Program.cs:
public static frmMDI principal;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
principal = new frmMDI();
Application.Run(principal);
}
Alan
Citação:private void cadastroDeContratosToolStripMenuItem_Click(object sender, EventArgs e)
{
frmSelContrato formulario = new frmSelContrato(); // ESSE QUE NÃO ABRE
formulario.MdiParent = Program.principal;
formulario.Show();
}
Você tem certeza que esse evento de click está sendo ativado quando você clica no menu?
Se sim, ponha um try catch nele pra ver que tipo de erro está acontecendo.
private void cadastroDeContratosToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
frmSelContrato formulario = new frmSelContrato(); // ESSE QUE NÃO ABRE
formulario.MdiParent = Program.principal;
formulario.Show();
}
catch (exception ex)
{
MessageBox.Show(ex.Message);
}
}
JABA, coloquei o try catch e não exibe nada, nenhuma msg de erro. Apenas clico no menu, ele fecha, e fica apenas o MDI em execução. Pra testar volto e clico no outro menu e ele abre normalmente exibindo o frmSelFunc....????
ALANTB, coloque um breakpoint nesse evento e veja se ele está sendo ativado, a minha suspeita é que não. Se estiver entrando, aproveita e faça um debug, pois assim vai aparecer o erro.
JABA, consegui resolver. Faltava uma codificação no form que de alguma forma resolveu o problema.Obrigado pela ajuda.....
Tópico encerrado , respostas não são mais permitidas