Jump to content
Sign in to follow this  
fabiotuga

passar textbox de um form para outro form

Recommended Posts

fabiotuga

boas pessoal tenho um programa onde te um login e neste caso eu queria que o username fosse para um outro form

vou meter aqui o codigo

LOGIN

namespace WindowsFormsApplication1
{
    public partial class Form9 : Form
    {
    
     
        MenuStrip menu;
        Label tipo;
        
        public Form9( ref MenuStrip menu, ref Label TipoLogin)
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterScreen;
      
            this.menu = menu;
            tipo = TipoLogin;

        }
        SqlConnection connection = new Connection().getconnection();

        // string a = DateTime.Now.ToString();

        

        private void button1_Click(object sender, EventArgs e)
        {
            go();

        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)(Keys.Enter))
                go();
        }
        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)(Keys.Enter))
                go();
        }

        private void Form9_Load(object sender, EventArgs e)
        {
            textBox2.PasswordChar = '•';
            toolTip1.SetToolTip(button1, "Entrar");
        }


        private void limpacampos()
        {

            textBox1.Text = "";
            textBox2.Text = "";


        }
        private void go()
        {
            SqlCommand cmd = new SqlCommand();
            try
            {

                DataTable dtmedico = new DataTable();

                SqlDataAdapter damedico = new SqlDataAdapter("SELECT * from Medico, Categoria where Nome= '" + textBox1.Text + "' and password1 ='" + textBox2.Text + "' and Categoria.cod_tipo=Medico.cod_tipo and  Medico.cod_tipo=" + 3, connection);

                damedico.Fill(dtmedico);
                if (dtmedico.Rows.Count != 0)
                {

                    tipo.Text = "médico";
                    this.menu.Enabled = true;
                    this.Close();
                }

                DataTable dtfuncionario = new DataTable();
                SqlDataAdapter dfuncionario = new SqlDataAdapter("SELECT * from funcionarios,Categoria where Nome= '" + textBox1.Text + "' and password1 ='" + textBox2.Text + "' and Categoria.cod_tipo=funcionarios.cod_tipo and  funcionarios.cod_tipo=" + 2, connection);
                dfuncionario.Fill(dtfuncionario);
                if (dtfuncionario.Rows.Count != 0)
                {

                    tipo.Text = "funcionario";
                    this.menu.Enabled = true;
                    this.Close();
                }

                DataTable dtadministrador = new DataTable();
                SqlDataAdapter dadministrador = new SqlDataAdapter("SELECT * from administrador,Categoria where username= '" + textBox1.Text + "' and password1 ='" + textBox2.Text + "' and Categoria.cod_tipo=administrador.cod_tipo and  administrador.cod_tipo=" + 1, connection);
                dadministrador.Fill(dtadministrador);
                if (dtadministrador.Rows.Count != 0)
                {

                    tipo.Text = "admin";
                    this.menu.Enabled = true;
                    this.Close();
                }
                //else
                //{
                //    MessageBox.Show("invalido");
                //}

                limpacampos();
                connection.Close();

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

       
    }
}

codigo do form para utilizar o username ou seja quando se abre o form a textbox fica automaticamente com o nome do username

 namespace WindowsFormsApplication1
{
    public partial class Form8 : Form
    {
        public Form8()
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterScreen;
        }
        SqlConnection connection = new Connection().getconnection();
        

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            try
            {
                DataTable dt = new DataTable();
                String comando = "SELECT Medico.Nome,Consultas.Data,Consultas.horas,Consultas.Nconsulta,Consultas.NMedico,Utente.CartaoUtente from Medico,Consultas,Utente where Medico.Nome like '%" + textBox1.Text + "%'  and Consultas.NMedico=Medico.NMedico and Consultas.Cartaoutente=Utente.CartaoUtente";
                SqlDataAdapter da = new SqlDataAdapter(comando, connection);
                da.Fill(dt);
                dataGridView1.DataSource = dt;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        

      
        private void passarReceitaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                int linha = dataGridView1.SelectedCells[0].RowIndex;

                int num = int.Parse(dataGridView1.Rows[linha].Cells[3].Value.ToString());
               int linha2 = dataGridView1.SelectedCells[0].RowIndex;

                int num2 = int.Parse(dataGridView1.Rows[linha2].Cells[4].Value.ToString());
                int linha3 = dataGridView1.SelectedCells[0].RowIndex;

                int num3 = int.Parse(dataGridView1.Rows[linha2].Cells[3].Value.ToString());
                Form x = new Form10(num,num2,num3);

                x.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void Form8_Load(object sender, EventArgs e)
        {

        }

      

        
    }
}

tenho algum urgencia se alguem me poder fazer isso agradecia

cumps

Share this post


Link to post
Share on other sites
fabiotuga

ja podem fechar ja consegui fazer o que queria apos muito tempo de inventanco la csg

Share this post


Link to post
Share on other sites
herty

Em c# quando queres passar dados entre Classes (formularios neste caso) tens 2 opções.

1º passas pelos constructor

NomeClass(parametro1,parametro2)

{

}

2º Passas por propriedades encapsuladas

public string AAAA

{

set{}

get{}

}

Share this post


Link to post
Share on other sites
softklin

Em vez de dizeres que "podem fechar" (por norma, os tópicos só são fechados quando quebram as regras), podias ter deixado a solução a que chegaste. O P@P não pretende ser só um sítio onde se tiram dúvidas, mas também onde existe possibilidade de partilhar informação e aprender.

De qualquer forma, as soluções apresentadas pelo Herty resolvem o problema. Para quem gostar de usar eventos, também pode definir um evento a ser despoletado quando o form secundário (do qual se pretende copiar os dados) é fechado (ou outro qualquer evento que seja conveniente para o caso).

Algumas referências:

http://wiki.portugal-a-programar.org/dev_net:csharp:passar-dados-para-outro-formulario

(não tem o exemplo dos eventos)


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
fabiotuga

ok mas a unica coisa que eu fiz foi criar uma label no form principal onde vai buscar o username que se meteu no login e no outro form onde queria ter o username do login vai buscar o username a label que meti no form principal passei pelo construtor

cumps e obg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.