Jump to content


Photo

Dúvida Não Tão Simples


  • Faça o login para participar
2 replies to this topic

#1 Mauricio Fritsch

Mauricio Fritsch

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino

Posted 18/11/2008, 09:32

Bom dia caros profissionais e não profissionais,
Peço a ajuda de vocês pois utilizei um "recurso técnico alternativo"... sim sim eu sei ... fiz uma gambiarra.. :cry:
o problema é o seguinte.

Tenho o Form1 que é o form principal OK, antes que ele aparecesse, queria que aparecesse um outro form chamado LOGIN, pois bem, para que o form1 NÃO aparecesse antes do LOGIN ao INICIAR o form1 instanciei o LOGIN e fiz com ele aparecesse como login.ShowDialog();
então ele aparece normalmente e só quando é fechado aparece o form1..

o problema vocês já devem ter sacado, o usuário não precisa validar o Login e a senha, basta ele FECHAR o form e pronto o form1 aparece.
não adianta setar o login como CONTROL:DISABLE porque o usuário pode dar um ALT+F4.... e tantos outras alternativas.


ps.: O botão CANCELA dá um Application.exit(); e isso funciona porque SAI da aplicação...
abaixo parte que vos relatei;

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
frmLogin login = new frmLogin();
login.ShowDialog();
}



espero que possam me ajudar e que outros aprendam com os erros dos outros.

obrigado.

#2 MACUL

MACUL

    Doutor

  • Usuários
  • 770 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 24/11/2008, 09:42

vc deve verificar se está logado.
*************** M ** A ** C ** U ** L ***************

*************************************************

#3 Luiz Fernando Noschang

Luiz Fernando Noschang

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 06/08/2009, 22:24

Crie uma nova aplicação!!
Adicione dois formularios.
Renomeie os arquivos para FormLogin.cs e FormPrincipal.cs.

O código do FormLogin deve ficar assim:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class FormLogin : Form
{
private bool loginValido = false;


public FormLogin()
{
InitializeComponent();
}


public bool LoginValido
{
get { return loginValido; }
}

private bool autenticaLogin()
{
// Aqui você faz a autenticação...

return (textBox1.Text == "x");
}

private void button1_Click(object sender, EventArgs e)
{
loginValido = autenticaLogin();

if (loginValido)
Close();
}
}
}


No código do FormPrincipal você faz o que quiser, é só pra teste!!!
No arquivo Program.cs você coloca o seguinte código:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

FormLogin formLogin = new FormLogin();
Application.Run(formLogin);

if (formLogin.LoginValido)
Application.Run(new FormPrincipal());

else MessageBox.Show("Login invalido!");
}
}
}

Não tenho tempo pra explicar o código aqui...
Mas funciona...
Teste e tente entender como funciona!!!

Espero ter ajudado... abraço...




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq