C# login formulier.

Status
Niet open voor verdere reacties.

rajroy

Gebruiker
Lid geworden
15 feb 2009
Berichten
9
Beste leden,

Ik probeer een simpele login formulier te maken wat mij niet echt wilt lukken.
Ik heb een Form2 en Form3
Form2 is om in te loggen en Form3 een melding venster.
Ik wil geen gebruik maken van een database maar gewoon ingevulde teksten.

Zoals:
Gebruikersnaam: test veldnaam=textbox1
Wachtwoord: 1234 veldnaam=textbox2

Als je dan op OK klikt moet hij naar Form3 anders gebeurt er niks.
Ik heb hieronder al een stuk maar het login gedeelte wilt maar niet lukken.
Heb op het internet ook gezocht maar staan te uitgebreide forms.

Kan iemand me hiermee helpen?


Form2:
Code:
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 Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void annuleren_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void ok_Click(object sender, EventArgs e)
        {
            string waarde;
            waarde = textbox2.Text;
            int n = Int32.Parse("waarde");
            if (n == 1234)
                textbox2.Text = "1234";
                Form3 f3 = new Form3();
                f3.Show();
        }
    }
}
-----------------------------------------------------------------------
Form3:
Code:
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 Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void sluiten_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
 
Hey,

je had een aantal foute in jouw ok knop zitten.
Code:
private void ok_Click(object sender, EventArgs e)
{
    if (textbox2.Text == "1234")
    {
        Form3 f3 = new Form3();
        f3.Show();
    }
}

Ook heb ik het omzetten naar een getal eruit gehaald. Want als ik er een teken in die tekstbox zet, dan werkt het al niet.
Als het echt cijfers moeten zijn, dan zou je idd Int32.Parse() terug kunnen zetten en dan zou ik op de textbox een eigenschap veranderen dat alleen cijfers geaccepteerd kunnen worden.

mvg,
Mathijs
 
Hey,

je had een aantal foute in jouw ok knop zitten.
Code:
private void ok_Click(object sender, EventArgs e)
{
    if (textbox2.Text == "1234")
    {
        Form3 f3 = new Form3();
        f3.Show();
    }
}

Ook heb ik het omzetten naar een getal eruit gehaald. Want als ik er een teken in die tekstbox zet, dan werkt het al niet.
Als het echt cijfers moeten zijn, dan zou je idd Int32.Parse() terug kunnen zetten en dan zou ik op de textbox een eigenschap veranderen dat alleen cijfers geaccepteerd kunnen worden.

mvg,
Mathijs

Mathijs jij bent de man :thumb:

Super thanx dat je me hiermee hebt willen helpen, echt lastig is het niet maar als je het net niet weet blijf je eeuwig zoeken.

Alleen bij het gebruikersnaam veldje textbox1 controlleerd hij niet welke naam daar moet komen te staan.
Kan ik dit erbij zetten bij de if functie van textbox2 met een elseif functie?

Super bedankt maat.:cool:

Greetz,
Roy
 
Laatst bewerkt:
Nee,
want in een else if controleert die de voorwaarde als de andere NIET waar is. En die moet WEL waar zijn.
Dus we gaan 2 waardes vergelijken.

Dat doe je als volgd:
Code:
private void ok_Click(object sender, EventArgs e)
{
    if (textbox1.Text == "Gebruikersnaam" && textbox2.Text == "1234")
    {
        Form3 f3 = new Form3();
        f3.Show();
    }
}

Gebruikersnaam vervang je door jou naam of net wat.:thumb:

Oh ja, && betekend EN. Dus bijde voorwaardes moeten WAAR zijn.
En || betekend OF. Dus een van de 2 is voldoende.
Als iets ongelijk moet zijn gebruik je != ipv ==.

Succes,
Mathijs
 
Laatst bewerkt:
Super bedankt Mathijs. Repect.:cool:.

Bedankt voor de info.
Ik hiermee verder oefenen kijken hoe ver ik kom.

Greetz,
Roy
 
Laatst bewerkt:
Een kleine vraagje nog.
Hoe kan je bijvoorbeeld tegen een knop zeggen, wanneer je erop klik de form2 maar 2x geopend mag worden?

Ik ben tot zo ver gekomen:

Code:
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();
            f2.Show();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
 
Hier kun je maxmaal 2 formulieren openen.

Code:
namespace WindowsFormsApplication1
{
    private int opened = 0;

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (opened < 2)
            {
                opened++;
                Form2 f2 = new Form2();
                f2.FormClosing += new FormClosingEventHandler(form2_FormClosing);
                f2.Show();
            }
            
        }

        private void form2_FormClosing(object sender, FormClosingEventArgs e)
        {
            //- Bij sluiten, weer een nieuw formulier toestaan
            opened--;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}

Succes,
Mathijs
 
Hey Mathijs,

Ik heb die script van je geprobeerd en gewoon letterlijk overgenomen alleen krijg een kleine rare fout waarvan ik helemaal niks begrijp.

Ik krijg een errortje bij deze regel

private int opened = 0; met nadruk op int.
Error 1 Expected class, delegate, enum, interface, or struct

Weet jij wat hij hiermee bedoeld?

Greetz,

Roy
 
Haha,
stomme fout van mij.
Ik had de regel:
private int opened = 0; onder namespace gezet, maar die staat daar fout.
Code:
namespace WindowsFormsApplication1
{
    private int opened = 0;

    public partial class Form1 : Form
    {...
moet worden:
Code:
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private int opened = 0;
        ...
De ... is natuurlijk de vervanging van de overige code.

Succes ermee.
gr,
Mathijs
 
Ey Mathijs,

Bedankt voor je snelle reactie :thumb:.

idd hij werkt nu perfect :thumb:.

Super bedankt he dat je me zover hebt geholpen
vindt ik echt relaxed van je :cool:.

Super thanx....

Greetz,

Roy
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan