Buenas. Les cueno que estoy estudiando Visual C# .Net. Estoy desarrollando una aplicacion de prueba, usando como servidor de datos MySQL.
Cuando mi aplicacion se inicia, el formulario inicial se llama frmLogin. El mismo no es mas que el tipico login, que compara usuario/clave con la BB.DD. hasta ahi todo bien, pero mi problema es cuando el usuario ingresa los datos correctos abrir otro formulario que tengo, llamado frmMain. Tengo este codigo:
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;
using MySql.Data;
using MySql.Data.MySqlClient;//Libreria para MySQL
namespace WindowsFormsApplication1
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}
private void btnEntrar_Click(object sender, EventArgs e)
{
//Variables de Usuario
String Usuario = txtUsuario.Text; //Nombre del usuario
String Clave = txtClave.Text; //Clave en texto plano (sin cifrar)
//MySQL
String path = "DataBase=prueba;DataSource=localhost;User=root;Password=kobe;Port=3306";
String query = String.Format("SELECT * FROM usuarios WHERE nick='{0}' AND clave=MD5('{1}') LIMIT 1", Usuario, Clave);
try
{
MySqlConnection con = new MySqlConnection(path);
con.Open();
MySqlDataAdapter da = new MySqlDataAdapter(query, con);
DataSet ds = new DataSet();
da.Fill(ds, "tablas");
con.Close();
if (ds.Tables["tablas"].Rows.Count > 0)
{
frmLogin.Hide()
MessageBox.Show("Bienvenido " + ds.Tables["tablas"].Rows[0][2].ToString() + "!", "Accesso");
/* ACA QUIERO LLAMAR/MOSTRAR EL FORMULARIO 'frmMain' */
}
else
{
MessageBox.Show("Usuario y/o clave incorrecta!", "Accesso Denegado");
}
}
catch (Exception ex)
{
MessageBox.Show("Mas informacion sobre el error:\n"+ex.Message,"Problemas con la Base de Datos");
}
}
private void btnSalir_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
En la linea resaltada es dnde quiero ejecutar el codigo que me muestre el formulario frmMain, pero no se como hacerlo..luego de leer un poco probé con frmMain.Show() pero no funciona...
Alguna idea?
Saludos
te lo pongo en vb que es lo que yo controlo, es muy parecido:
Citar
'creo una instancia de la ventana
dim instancia_ventana as new FrmMain
' muestro la ventana
instancia_ventana.show()
Gracias por responder. Lo he solucionado agregando este codigo:
frmMain frmMain = new frmMain();
frmMain.Show();
Muchas gracias por tu ayuda @ABDERRAMAH ;-)
Saludos