10. Tela Principal
Modifique as propriedades a seguir:
Propriedades | Valores |
BackgroundImage | Escolha uma imagem de Plano de Fundo |
IsMdiContainer | True |
Size | 1024; 785 |
StartPosition | CenterScreen |
Text | Tela Principal |
Adicione ToolBox >Menu & Toolbars > MenuStrip. Como na imagem:
Crie um sub Menu para o Cadastro como na imagem:
Ao lado do Menu Cadastro existe um Texto chamado de Type Here clique nele e adicione o menu e o sub Menu como na imagem abaixo:
Adicione o componente chamado ToolBox > ToolStrip. Como na imagem:
Clique na Seta para baixo e adicione 4 Button chamado de:
Name Padrão | Modificar name Para | DisplayStyle | TextImageRelation | Text |
toolStripButton1 | tsbCliente | Image and Text | ImageAboveText | Cliente |
toolStripButton2 | tsbServico | Image and Text | ImageAboveText | Serviço |
toolStripButton3 | tsbOS | Image and Text | ImageAboveText | Ordem de Serviço |
toolStripButton4 | tsbLogoff | Image and Text | ImageAboveText | Logoff |
Adicione as imagens de cada botão pela propriedade Image:
O Seu ToolStrip poderá ter ficado assim:
Caso as imagens estiverem pequenas desative(none) a propriedade ImageScaling.
Atenção: Essa propriedade desativar o tamanho padrão das imagens ser você colocar uma imagem com resolução muito grande ira ficar feio, portanto coloque resolução de ate 32x32 no seu projeto.
Arraste o componente chamado ToolBox>StatusStrip. Como na imagem:
Clique na seta para baixo e adicione 5 StatusLabel com as propriedades a seguir
Name Padrão | Modificar name Para | BorderSides | Text |
toolStripStatusLabel1 | tsslUsuario | Right | Vazio |
toolStripStatusLabel2 | tsslIP | Right | Vazio |
toolStripStatusLabel3 | tsslNomePC | Right | Vazio |
toolStripStatusLabel4 | tsslData | Right | Vazio |
toolStripStatusLabel5 | tsslHora | Right | Vazio |
O StatusStrip ficara assim:
Clique duas vezes no formulário para abrir o event Load e insira o código a seguir:
//Nível de Acesso: Ser o usuario for Operador o formulario estara invisivel if (frmLogin.NivelAcesso == "Operador") { //Nível de Operador não podera cadastrar usuário usuárioToolStripMenuItem.Visible = false; } //Mostrar o usuário conectado tsslUsuario.Text = "Usuário: " + frmLogin.usuarioConectado; //Mostra o nome do PC string myHost = System.Net.Dns.GetHostName(); tsslNomePC.Text = "Nome do PC: " + myHost; //Mostrar o IP do usuário System.Net.IPHostEntry myIPs = System.Net.Dns.GetHostEntry(myHost); foreach (System.Net.IPAddress myIP in myIPs.AddressList) { //Mostar o IP tsslIP.Text = "IP: " + myIP; } |
Insira o Componente Timer modifique as propriedades (Enable para True e Interval para 1000) e clique duas vezes nele e adicione o trecho de código a seguir:
//Mostrar a Hora tsslData.Text = DateTime.Now.ToString("HH:mm"); |
Clique duas vezes no menu Cadastro> Usuário e insira o código abaixo:
try { formulario.frmUsuario usuario = null; // form a ser aberto //procura form na relação de forms filhos foreach (Form frm in this.MdiChildren) { //se encontrou inicializa instancia de frmUsuario com o form ja aberto if (frm is formulario.frmUsuario) { usuario = (formulario.frmUsuario)frm; break; } } // se não encontrou na relação, instancia objeto, "seta" form pai e exibe form if (usuario == null) { usuario = new formulario.frmUsuario(); usuario.MdiParent = this; usuario.Show(); } //garante que ele fique em foco caso haja outros forms abertos usuario.Focus(); } catch (Exception ex) { MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
Clique duas vezes no menu Cadastro > Cliente e insira o Código a seguir:
try { frmCliente cliente = null; foreach (Form frm in this.MdiChildren) { if (frm is frmCliente) { cliente = (frmCliente)frm; break; } } if (cliente == null) { cliente = new frmCliente(); cliente.MdiParent = this; cliente.Show(); } cliente.Focus(); } catch (Exception ex) { MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
Clique duas vezes no menu Cadastro> Serviço e adicione o Código a seguir:
try { formulario.frmServico servico = null; foreach (Form frm in this.MdiChildren) { if (frm is formulario.frmServico) { servico = (formulario.frmServico)frm; break; } } if (servico == null) { servico = new formulario.frmServico(); servico.MdiParent = this; servico.Show(); } servico.Focus(); } catch (Exception ex) { MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
Clique duas vezes no menu Cadastro > Ordem de Serviço e adicione o código a seguir:
try { frmOS os = null; foreach (Form frm in this.MdiChildren) { if (frm is frmOS) { os = (frmOS)frm; break; } } if (os == null) { os = new frmOS(); os.MdiParent = this; os.Show(); } os.Focus(); } catch (Exception ex) { MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
Clique duas vezes no menu Relatório > Cliente e adicione o código a seguir:
try { frmRelCliente relcliente = null; foreach (Form frm in this.MdiChildren) { if (frm is frmRelCliente) { relcliente = (frmRelCliente)frm; break; } } if (relcliente == null) { relcliente = new frmRelCliente(); relcliente.MdiParent = this; relcliente.Show(); } relcliente.Focus(); } catch (Exception ex) { MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
Clique duas vezes no menu Relatório > Serviço e adicione o código a seguir:
try { frmRelServico relServico = null; foreach (Form frm in this.MdiChildren) { if (frm is frmRelServico) { relServico = (frmRelServico)frm; break; } } if (relServico == null) { relServico = new frmRelServico(); relServico.MdiParent = this; relServico.Show(); } relServico.Focus(); } catch (Exception ex) { MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
Clique duas vezes no menu Relatório > Ordem de Serviço e adicione o código a seguir:
try { frmRelOS relOS = null; foreach (Form frm in this.MdiChildren) { if (frm is frmRelOS) { relOS = (frmRelOS)frm; break; } } if (relOS == null) { relOS = new frmRelOS(); relOS.MdiParent = this; relOS.Show(); } relOS.Focus(); } catch (Exception ex) { MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
Clique duas vezes no toolStrip1 > Cliente e insira o Código:
try { frmCliente cliente = null; foreach (Form frm in this.MdiChildren) { if (frm is frmCliente) { cliente = (frmCliente)frm; break; } } if (cliente == null) { cliente = new frmCliente(); cliente.MdiParent = this; cliente.Show(); } cliente.Focus(); } catch (Exception ex) { MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
Clique duas vezes no toolStrip1 > Serviço e insira o Código:
try { formulario.frmServico servico = null; foreach (Form frm in this.MdiChildren) { if (frm is formulario.frmServico) { servico = (formulario.frmServico)frm; break; } } if (servico == null) { servico = new formulario.frmServico(); servico.MdiParent = this; servico.Show(); } servico.Focus(); } catch (Exception ex) { MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
Clique duas vezes no toolStrip1 > Ordem de Serviço e insira o Código:
try { frmOS os = null; foreach (Form frm in this.MdiChildren) { if (frm is frmOS) { os = (frmOS)frm; break; } } if (os == null) { os = new frmOS(); os.MdiParent = this; os.Show(); } os.Focus(); } catch (Exception ex) { MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message, "Aviso",– MessageBoxButtons.OK, MessageBoxIcon.Information); } |
Clique duas vezes no menu Cadastro > Sair e adicione o código a seguir:
Application.Exit(); |
Entre no event do Formulario Tela Principal e clique na propriedade FormClosed e adicione o código a seguir:
Application.Exit(); |
Termina o Formulário Principal. Na Próxima Parte estaremos desenvolvendo os Relatórios
By: Natanael
By: Natanael
Amigo NATANAEL
ResponderExcluireu estou com um Problema
eu nao sei um jeito de coloca a tela de Slash depois a do Logim e a do Sistema
qual tela eu coloco pra o sistema Inicializar ?
Att
Caio Bachi
caio.bachi@gmail.com
Primeiro inicializa com a tela de login. Porque a tela de login tem um método que inicializar primeiro a tela de splash e depois a tela de login.
ResponderExcluirBy: Natanael
mas se eu colocar o logim de começo
ResponderExcluiro usuario vai fechar a tela no sistema e a do logim vai ta aberta ok ?
Não.
ResponderExcluirNatanael, boa noite
ResponderExcluirAmigo, não consegui encontrar o código para inclementar o toolStrip (logoff), para trocarmos de usuário sem necessidade de fechar o aplicativo. se possivel posta ai pra gente.
e verdade. Desculpe.
ResponderExcluirSegue o código pra logoff:
string mensagem = "Que realmente fazer Logoff?";
if (MessageBox.Show(mensagem,"Aviso",MessageBoxButtons.YesNo,MessageBoxIcon.Information) == DialogResult.Yes)
{
this.Hide();
frmLogin login = new frmLogin();
login.Show();
}
Natanal bom dia,
ResponderExcluirDesculpe a ignorancia, mais é que estou aprendendo ainda com seus tutoriais a programar, fiz a chamada do login pelo botao logoff, deu tudo certo, eu tentei fazer com que ele chamasse a tela de login sem carregar a tela de splash quando usar este botão.
Grato
Uélisson
natanael, sabe me dizer pq esta aparecendo esta mensagem qdo tento abrir as telas..segue o erro "form that was specified to be MdiParent for this form is not an MdiContainer
ResponderExcluirparameter name value"
nao criei os relatorios, so criei os formulario de relatorio, pode ser por isso??
caro amigo fica dando erro no formulario.
ResponderExcluir