[C#] Cómo mostrar/abrir otro formulario.

Iniciado por [u]nsigned, 13 Junio 2012, 15:42 PM

0 Miembros y 1 Visitante están viendo este tema.

[u]nsigned

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:

Código (csharp,41) [Seleccionar]

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

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

ABDERRAMAH

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()


[u]nsigned

Gracias por responder. Lo he solucionado agregando este codigo:

Código (csharp) [Seleccionar]
frmMain frmMain = new frmMain();
frmMain.Show();


Muchas gracias por tu ayuda @ABDERRAMAH  ;-)

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!