Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: [u]nsigned en 13 Junio 2012, 15:42 PM

Título: [C#] Cómo mostrar/abrir otro formulario.
Publicado por: [u]nsigned en 13 Junio 2012, 15:42 PM
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
Título: Re: [C#] Cómo mostrar/abrir otro formulario.
Publicado por: ABDERRAMAH en 13 Junio 2012, 16:06 PM
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()

Título: Re: [C#] Cómo mostrar/abrir otro formulario.
Publicado por: [u]nsigned en 13 Junio 2012, 18:24 PM
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